Здравствуйте! Страница на haml рендерится почти 200мс. Для сравнения запросы в бд выполняются за 6мс.
Пробовал переписать на slim, результат стал меньше, но не сильно. Путём экспериментов выяснил, что большую часть времени занимает each-цикл по элементам из бд (ActiveRecord_Relation ). Элементов этих ровно 50 на одной странице.
Даже если внутри each выводить только основную информацию о каждой записи, цикл ну очень долгий
Это нормальная ситуация? Как ускорить рендер страниц?
Можно как написал Антон Радушев, но лучше получить все данные заранее в контроллере (50 шт.), а во вьюхе только вставлять их. Тогда внутри цикла HAML-шаблона не будет расходов на БД вызовы.
Сделал кэширование части шаблона с таблицей, стало на порядок быстрее конечно, но все равно не радует.
Очень нравится RoR, писать на нем это чистое удовольствие.
Но нормальная ли ситуация, когда таблица из 50 элементов рендерится 200мс? Неужели он настолько медленный? И это при том, что запросы в бд занимают меньше 5мс. Дополнительных запросов цикл точно не создает