Я создал лексер ассемблера ARM64, который работает вдвое быстрее оригинала от Dart, и провёл бенчмарк на 104000 файлах. В процессе выяснилось, что узким местом стал ввод-вывод, а не сам лексер. Чтение файлов занимало в пять раз больше времени, чем лексинг. Делая выводы, я заметил, что 104000 системных вызовов значительно увеличивают оверхед, вызывая замедление работы системы. Решением стало упаковать файлы в архивы tar.gz, что уменьшило их количество до 1351 и существенно ускорило ввод-вывод. Время на ввод-вывод уменьшилось с 14525 мс до 339 мс, увеличив общее ускорение до 2,27 раз. Этот эксперимент объяснил, почему pub.dev использует tar.gz: меньше запросов, экономия канала и снижение оверхеда системных вызовов. Это решение вписывается в идею оптимизации для работы с тысячами мелких файлов.
Понравилась статья? Поделиться с друзьями:
Вам также может быть интересно
Выбирать корпоративные курсы английского стоит по четырём измеримым параметрам: как школа отбирает преподавателей, привязана
Ориентировочный рыночный диапазон — от 20 000 до 60 000 рублей за диссертацию под
На курсах косметолога с нуля изучают четыре базовых блока: строение и физиологию кожи, санитарно-эпидемиологический
Самый быстрый бесплатный способ — вставить текст в онлайн-сервис проверки орфографии и пунктуации, а
Доход косметолога считается по простой формуле: средний чек умножается на количество процедур за месяц,
Выбирать детектив стоит не по обложке и не по рейтингу, а по типу удовольствия,
