Сомневаюсь что кто-то глядя на 146 строк определит где узкое место, ты по запускам не увидел его?
Подготавливай данные заранее. Отдавай готовое
выполнить его в базе данных
У тебя очень много вложенных циклов
оффсет и лимит, при этом сортировки нет...
Запросы идут на бд.
Типо хранить в json?
Ещё ты делаешь буквально два одинаковых запроса, только в первом случае там типа all, а во втором count. Можно сделать во втором matches.count(). Немного сократит время на генерацию кода
в redis к примеру
Обсуждают сегодня