Вряд ли есть ещё какие способы, но это направление мне интересно.
Пара замечаний:
1) Диапазоны в примерах разные: ... и ..
во втором случае будет на одно исполнение кода больше
2) Код уже можно сократить
Код:
t1=Time.now 
 <тут код> 
p Time.now-t1
Не обязательно бросаться с головой в оптимизацию, но лично мне интересны твои исследования.