Обновить

Я создал вдвое более быстрый лексер, но обнаружил, что узким местом был ввод-вывод

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели14K
Всего голосов 23: ↑22 и ↓1+27
Комментарии5

Комментарии 5

Ещё вариант: использовать архивы без сжатия.

NVMe SSD со скоростью чтения 5-7 ГБ/с

Данные на диске 1,13 ГБ

Можно было бы сэкономить 4.5с на разархивации

Это упомянуто в статье (переводе):

Что бы я сделал иначе:

Применял бы незапакованные tar для локального кэширования...

Реально, хз как пропустил

Вы отметили что игры, на примере Диабло использовали архивы, но тот же Близзард ещё в начале 90х к этому пришёл, как и другие в это же время с WAD.
Там побудительной причиной служил. Ещё ограничения файловой системы, когда fat12 меньше 4000 файлов на том, fat16 чуть больше 65000 тысяч, и то что россыпь файлов медленнее последовательного считывания (фрагментация данных).
Частично эти недостатки были закрыты hpfs и её потомке NTFS, у одной парами полос по 8 мбайт с индексом посередине, у другой, каюсь, 🤣 забыл детали, но тоже распределение индексов рядом с данными.
В нынешнее время эта проблема на SSD не актуальна.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации