require 'benchmark'
require 'active_support/core_ext/enumerable'

# Генерируем большой массив объектов
users = []
1_000_000.times do
  users << { name: "User#{rand(1000)}", age: rand(18..65) }
end

# Измеряем время выполнения метода pluck
pluck_time = Benchmark.realtime do
  names_pluck = users.pluck(:name)
end

# Измеряем время выполнения метода map
map_time = Benchmark.realtime do
  names_map = users.map { |user| user[:name] }
end

# Преобразуем время в секунды с точностью до миллисекунд
pluck_time_seconds = pluck_time.round(6)
map_time_seconds = map_time.round(6)

puts "Время выполнения pluck: #{pluck_time_seconds} секунд"
puts "Время выполнения map: #{map_time_seconds} секунд"

Время выполнения pluck: 0.100913 секунд

SELECT "users"."name" FROM "users"

Время выполнения map: 0.150986 секунд

<span class="token keyword">SELECT</span> <span class="token string">"users"</span><span class="token punctuation">.</span><span class="token operator">*</span> <span class="token keyword">FROM</span> <span class="token string">"users"</span>