我有这段代码:
date_counter = Time.mktime(2011,01,01,00,00,00,"+05:00")
@weeks = Array.new
(date_counter..Time.now).step(1.week) do |week|
logger.debug "WEEK: " + week.inspect
@weeks << week
end
从技术上讲,代码有效,输出:
Sat Jan 01 00:00:00 -0500 2011
Sat Jan 08 00:00:00 -0500 2011
Sat Jan 15 00:00:00 -0500 2011
etc.
但是执行时间完全是垃圾!每周计算大约需要四秒钟。
我在这段代码中是否遗漏了一些奇怪的低效率?这似乎很简单。
我正在使用 Rails 3.0.3 运行 Ruby 1.8.7。