gpt4 book ai didi

ruby - 使用 Ruby NArray 比使用 Array 有什么优势?

转载 作者:数据小太阳 更新时间:2023-10-29 06:56:51 27 4
gpt4 key购买 nike

我刚刚遇到了 Ruby 的 NArray 库——请原谅我问这个问题时的无知:)

与标准 Ruby 数组实现相比,使用 NArray 库有哪些优势?

我已经看到 NArray 是面向数值计算的,但是查看 API,似乎只有一些针对数值的 Array 扩展——没有什么是 Array 做不到的。.

  1. 为什么不直接使用数组呢?
  2. 是否有巨大的速度优势?
  3. 是否有巨大的内存优势?
  4. 与使用常规 Ruby Array 类相比还有其他优势吗?

Google 并没有真正对这个问题提出有用的解释。

我找到的引用资料:

http://rubydoc.info/gems/narray-ruby19/0.5.9.7/NArray

http://narray.rubyforge.org/index.html.en

http://raa.ruby-lang.org/project/narray/

最佳答案

另请参阅有关 NArray 的幻灯片: http://www.slideshare.net/masa16tanaka/narray-and-scientific-computing-with-ruby

it looks like there are only a few extensions over Array

不,它和Array完全不同。NArray 具有许多数值函数和多维特征。另一方面,NArray 是静态的;它没有推/弹出方法等。NArray 的方法列表是 http://narray.rubyforge.org/SPEC.en

_1. Why not just use Array?

数组包含 Ruby 对象。保存数值是低效的。

_2. Is there a huge speed advantage?

是的。上面幻灯片的第 36 页显示 NArray 最多快 50 倍。

请注意,如果循环是用 Ruby 编写的,Array 比 NArray 更快。

_3. Is there a huge memory advantage?

是的。至于 Float 值,Array 在我的 64 位 Linux 机器上消耗的内存比 NArray 多 4 倍。

_4. Any other advantages over using the regular Ruby Array class?

  • 支持多维数组
  • 支持数字功能
  • 无需对数组项进行垃圾回收。大型数组的 GC 需要花费大量时间。
  • 等等

关于ruby - 使用 Ruby NArray 比使用 Array 有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7832289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com