微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用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需要很长时间才能使用大型阵列.>等

原文地址:https://www.jb51.cc/ruby/268435.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐