我刚刚遇到了
Ruby的NArray库 – 请原谅我在提出这个问题时的无知:)
使用NArray库比标准Ruby Array实现有什么好处?
我已经看到NArray面向数值计算,但是看看API,看起来只有少数几个扩展而不是数值 – 没有你不能用Array做的事情.
>为什么不使用Array?
>是否有巨大的速度优势?
>是否有巨大的记忆优势?
>使用常规Ruby Array类还有什么优势?
谷歌并没有真正想出这个问题的有用解释.
参考资料我发现:
http://rubydoc.info/gems/narray-ruby19/0.5.9.7/NArray
解决方法
另见关于NArray的幻灯片:
http://www.slideshare.net/masa16tanaka/narray-and-scientific-computing-with-ruby
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?
Array拥有Ruby Objects.保持数值是低效的.
_2. Is there a huge speed advantage?
是.上面幻灯片中的第36页显示NArray的速度提高了50倍.
请注意,如果循环是用Ruby编写的,则Array比NArray快.
_3. Is there a huge memory advantage?
是.至于Float值,在我的64位Linux机器上,Array消耗的内存大约是NArray的4倍.
_4. Any other advantages over using the regular Ruby Array class?