You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BackupJsonStreamParser переведён с посимвольного среза буфера (substr с головы на каждой строке) на чтение через integer-курсор с ленивой компактизацией раз на входной чанк. Сложность разбора снижена с O(n²) до O(n): стриминг реального бэкапа 387 МБ / 386k строк ускорился с 11+ минут до ~39 c при ограниченной памяти.
Добавлено
Параметр BackupJsonStreamParser::__construct(int $maxRecordSize) (по умолчанию 128 MiB) — защита от OOM на битом файле без разделителей.
Тест линейности парсера (N vs 2N) и edge-кейсы границ чанков/экранирования.