gpt4 book ai didi

ruby-on-rails - 这两个代码示例之间是否存在任何性能差异?

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:07 25 4
gpt4 key购买 nike

下面的代码似乎做同样的事情,但是一个比另一个有更好的性能,还是它们是一样的?谢谢。

代码 1:

<% @posts.each do |post| -%>  
post.doSomething
<% end -%>

代码 2:

<% for post in @posts %>
post.doSomething
<% end -%>

最佳答案

广泛采用的方式是使用each。不仅因为它更像 Ruby,而且因为从 Ruby 1.8.7+ each 返回一个 Enumerator对象,它可以用来做神奇很酷的功能。

另外:当有疑问时,基准测试**

require "benchmark"

array = [*1..100_000]

Benchmark.bm(11) do |x|
x.report("for .. in") { array.each{ |i| i.succ } }
x.report("each") { for i in array; i.succ; end }
end

** 如果您发现代码中 0.00000001 纳秒的性能提升是相关的,那么您可能无论如何都不应该使用 Ruby。

关于ruby-on-rails - 这两个代码示例之间是否存在任何性能差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234057/

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