使用Ruby NArray而不是Array有什么好处?

前端之家收集整理的这篇文章主要介绍了使用Ruby NArray而不是Array有什么好处?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚遇到了 Ruby的NArray库 – 请原谅我在提出这个问题时的无知:)

使用NArray库比标准Ruby Array实现有什么好处?

我已经看到NArray面向数值计算,但是看看API,看起来只有少数几个扩展而不是数值 – 没有你不能用Array做的事情.

>为什么不使用Array?
>是否有巨大的速度优势?
>是否有巨大的记忆优势?
>使用常规Ruby Array类还有什么优势?

谷歌并没有真正想出这个问题的有用解释.

参考资料我发现:

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?

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?

>支持多维数组>支持数字功能>不需要对Array项进行垃圾回收. GC需要很长时间才能使用大型阵列.>等

猜你在找的Ruby相关文章