Оптимизация кода
Возможно, многие знают Brent Roose – дев адвокат в Jetbrains, отец Tempest PHP Framework, автор блога stitcher.io и много еще чего.
Так вот, он сделал себе для блога систему аналитики, которая собирает исходные данные о юзерах, сохраняет их себе, а потом он создает проекции данных на основе этой истории. Удобно не хранить десятки миллионов дублей, а лишь конечные проекции.
Изначальный код был написан как типичным ларавельщиком – колбек в колбеке в цикле цикла. Ну вы поняли.
Перформил этот механизм так себе – ~30 ивентов в секунду. С миллионом записей пришлось бы ждать … долго.
Начал он оптимизировать и вот к чему пришел: 1.6M events / second
Видос небольшой и покрывает только первую часть, когда он пришел к 110K events / second.
Всё равно выглядит очень мощно. Многим могут показаться полезным способы оптимизаций, поэтому запоминайте.
А если знаете еще – пишите ему в коментах или в твиттере. Он так и прокачался с 15к до 1.6M – через комменты в твиттере и под статьёй.
Видос: https://www.youtube.com/watch?v=GY4RIj_zn1M
Статья: https://stitcher.io/blog/processing-11-million-rows
——
@handle_topic
Post #127
513