У меня есть этот блок кода:
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.
Но время выполнения - полная чушь! На вычисления каждую неделю уходит примерно четыре секунды.
Есть ли какая-то гротескная неэффективность, которой мне не хватает в этом коде? Это кажется достаточно простым.
Я использую Ruby 1.8.7 с Rails 3.0.3.