Скажем, у меня есть страница с фотогалереей. На каждой миниатюре есть, например, фото, страна, автор и тд. Я визуализирую эти элементы / виджеты с помощью тегов шаблонов (которые загружают указанные шаблоны) - так происходит из-за DRY (я использую эти элементы / виджеты отдельно в разных местах на странице).
И это очень медленно.
Я выполнил профилирование с помощью django-debug-toolbar:
SQL Queries: default 84.81 ms (147 queries)
Но:
Total CPU time: 5768.360 msec
Это слишком долго, чтобы ждать.
После некоторого анализа выяснилось, что главный виновник - это шаблонизатор.
Когда я хочу отобразить, например, 150 фотографий, 600 связанных элементов / виджетов обрабатываются с помощью шаблонов. Это означает 600 операций ввода-вывода или даже больше. Перемещение этих виджетов в основной шаблон решает проблему, но не сохраняет СУХОЙ.
Итак, мой вопрос: как можно избежать такого поведения? Быть СУХИМ и медленным или не СУХИМ и быстрым? Я бы предпочел быть СУХИМ и быстрым ...