помощи бенчмарк?
попытался так
> def coolection(limit: 40, offset: 0)
Invoice.offset(offset).limit(limit)
end
> def bench(limit, offset)
Benchmark.ips do |x|
x.report("Rendering") do
coolection(limit: limit, offset: offset).each do |resource|
render partial: "invoices/index/row", locals: { resource: resource }
end
end
x.compare!
end
end
> bench(40, 40)
https://github.com/MiniProfiler/rack-mini-profiler ?
1. Вам недоступен хэлпер render в консоли по умолчанию. Его нужно подгрузить отдельно 2. Вы хотите измерить рендеринг или выгрузку коллекции с рендерингом? Если только рендеринг, то получение коллекции вынесите наружу
там в фоме есть подзапросы, поэтому да нужно измерить выгрузку коллекции с рендерингом
На всякий случай: rails кэширует запросы к бд. если ранее ваша коллекция кэшируется при обычном вызове, то такой эксперимент может быть не показательным
https://guides.rubyonrails.org/caching_with_rails.html#sql-caching внутри 1 реквеста
Обсуждают сегодня