加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 04:19:09 所属栏目:百科 来源:网络整理
导读:我刚刚遇到了 Ruby的NArray库 – 请原谅我在提出这个问题时的无知:) 使用NArray库比标准Ruby Array实现有什么好处? 我已经看到NArray面向数值计算,但是看看API,看起来只有少数几个扩展而不是数值 – 没有你不能用Array做的事情. 为什么不使用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需要很长时间才能使用大型阵列.>等

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读