чутка редиску, петоны в хвост и в гриву профайлером - ну всё плюс минус одинаково, а лаг есть, причем оно еще странно нестабильный. То есть, то его нет.
В итоге всё оказалось просто донельзя:
Старый парсер ориентировался по пустой строке. Если она есть, значит событие сформировано - ретюрн.
Новый - по следующему ивенту (еще выше писал, что пустая строка не подходит). Сформировали, если видим следующее событие, отдать, очистить, формируем новое.
Но что будет если нового события нет?🤔🤔😔 Правильно - Парсер будет его ждать, чтобы отдать предыдущее.
Это и есть лаг. В тестах он не был заметен и вооще не был заметен так как при даже минимальной относительно работе событий валится дохренища в секунду. А тут попадаю на простой - и сразу всё стало ясно.
Надо записать, вдруг попадётся такое?
🤦♂️👍
Теперь, правда, несовсем ясно, как делимитить события. Пустая строка не подходит, конец события мы не знаем, а новое может не прийти быстро. Пока думаю, что нужно добавить флаг принудительно "сброса" (а эти лаги как раз при рукотворной генерации текущего события).
Обсуждают сегодня