gpt4 book ai didi

ruby - 以下哪项是最有效的

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:49 24 4
gpt4 key购买 nike

如果我想打印 x 从 0 到 5

6.times {|x| p x}

(0..5).each {|x| p x}

0.upto(5) {|x| p x}

for x in 0..5
p x
end

最佳答案

benchmark/ips是一个更好的工具。

require 'benchmark/ips'

Benchmark.ips do |x|
x.report("times") { 6.times {|x| } }
x.report("range iteration") { (0..5).each {|x| } }
x.report("upto") { 0.upto(5) {|x| } }
x.report("for") do
for x in 0..5
end
end
end

Ruby 2.2.0 上的结果:

Calculating -------------------------------------
times 88.567k i/100ms
range iteration 88.519k i/100ms
upto 86.749k i/100ms
for 84.118k i/100ms
-------------------------------------------------
times 2.093M (± 0.2%) i/s - 10.451M
range iteration 2.053M (± 0.4%) i/s - 10.268M
upto 2.103M (± 0.2%) i/s - 10.583M
for 1.949M (± 0.2%) i/s - 9.758M

在这里循环空体是更好的主意,因为 p 的 IO 时间可能会使循环迭代时间相形见绌。就结果而言,它足够接近无关紧要。

关于ruby - 以下哪项是最有效的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29708476/

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