O método step step do Ruby causa uma execução muito lenta?

Eu tenho esse bloco de código:

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

Tecnicamente, o código funciona, gerando:

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.

Mas o tempo de execução é um lixo completo! Demora aproximadamente quatro segundos para calcular a cada semana.

Existe alguma ineficiência grotesca que estou perdendo neste código? Parece bastante direto.

Estou executando o Ruby 1.8.7 com o Rails 3.0.

questionAnswers(2)

yourAnswerToTheQuestion