gpt4 book ai didi

Ruby Array concat 与 + 速度?

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

我对 Ruby 的数组 concat()+ 操作进行了小型性能测试,concat() 速度太快了。

但是我不清楚为什么 concat() 这么快?

有人可以帮忙吗?

这是我使用的代码:

t = Time.now
ar = []
for i in 1..10000
ar = ar + [4,5]
end
puts "Time for + " + (Time.now - t).to_s


t = Time.now
ar = []
for i in 1..10000
ar.concat([4,5])
end
puts "Time for concat " + (Time.now - t).to_s

最佳答案

根据Ruby docs ,不同之处在于:

数组#+:

Concatenation — Returns a new array built by concatenating the two arrays together to produce a third array.

数组#concat :

Array#concat : Appends the elements of other_ary to self.

因此 + 运算符每次被调用时都会创建一个新数组(这是昂贵的),而 concat 只会附加新元素。

关于Ruby Array concat 与 + 速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23763215/

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