Usar secuencia de comandos/rendimiento/benchmarker:
script/performance/benchmarker 2000 "User.find_by_name('Joe').id" "User.first(:conditions => {:name => 'Joe'}, :select => 'id').id"
En mi máquina dev, este informa:
user system total real
#1 1.110000 0.070000 1.180000 ( 1.500366)
#2 0.800000 0.050000 0.850000 ( 1.078444)
Por lo tanto, el segundo método parece ser más rápido, ya que tiene menos trabajo por hacer. Por supuesto, usted debe referente esto en su máquina de producción, utilizando el entorno de producción:
RAILS_ENV=production script/performance/benchmarker 2000 "User.find_by_name('Joe').id" "User.first(:conditions => {:name => 'Joe'}, :select => 'id').id"
Se puede cambiar un poco las condiciones para usted.
Desde '3.0' será' rails benchmarker ... ' – jibiel