Rails 3.0.9 в ruby ​​1.9.3 рендерит производительность партиалов - PullRequest
2 голосов
/ 21 января 2012

У меня есть следующая иерархия рендеринга частичек, которая приводит к таблице

  • визуализация: частичная => таблица
    • визуализация: частичная => строка,: коллекция => строки
    • ---- визуализация: частичная => ячейка: коллекция => row.cells
    • ------- render: частичный => "# {cell.partial}" ,: locals => {: item => cell.item}

В продакшионе на отрисовку 5000 строк уходит 12 секунд

На том же ПК - «Веб-интерфейс Oracle» рисует те же 5000 линий за 2 секунды. Это в 6 раз быстрее.

В чем проблема? Как я могу оптимизировать производительность рельсов?

Мы используем slim, но с хамлом это тоже самое Работаем на windows ...

Перемещение партиалов в вспомогательные методы дает мне 3-кратную скорость!

1 Ответ

4 голосов
/ 29 января 2013

здесь проблема: маленькие частичные не эффективны.Вместо этого используйте помощники.

Когда я изменил «рендеринг небольшого частичного» на «вызов вспомогательного метода», я получил 5-кратную производительность рендеринга.

Грустно, но верно

...