@stiletto Берём фифо на тыщу постов, берём стек для top20; добавление комментария в пост добавляет пост в фифу и проверяет его на превышение количества комментариев у поста со дна топа; если превышает - вставка с заменой.
@l29ah Стек тоже на тыщу, да, но можно и поменьш: соточку, например. Юниты фифошки хранят указатели на элементы стека для фаст-выбрасывания. Стек - список.
самый быстрый идиота вариант - хранить в посте дату последнего коммента и использовать её. однако это будет вызывать всплывание в топ некросрачей, к которым кто-то сегодня напейсал один коммент.
Да, фифошка действительно вариант, хранить в ней указатели на комменты за последние 24 часа и общую информацию по постам (добавляем коммент в фифошку — +1 к посту, удаляем коммент из фифошки — -1 к посту, и досортировываем список постов)
В общем переделал как вы требовали - теперь показывает топ постов по количеству комментариев написанных за последние 24 часа. Обновляется раз в 5 минут.
Зоделано на МАПРЕДЮС, выполняется ~ 10 мс.