Возвращаясь к вопросу по пререиндексации драйверпаков.
Я бы хотел поблагодарить quarq за проведение переиндексации 48 драйверпаков и сбор всех необходимых измерений.
Результаты:- Скорость индексации.
DriverPack Solution: 4.33 -> 3.35 (время сократилось на 32%).
Drivers Installer Assistant: 2.06 -> 1.49 (время сократилось на 14%).
В DIA был отключен режим "обрабытывать дубликаты HWID"(включен по умолчанию), чтобы HWIDы не обрезались. - Размер перепакованых паков.
Драйверпаки, которые были изначально упакованы со словарем 64МБ, увеличись на 1-2% после перепаковки со словарем 32МБ.
Драйверпаки, которые были изначально упакованы со словарем 32МБ, уменьшились примерно на 3% после перепаковки со словарем 32МБ. - Влияние размера словаря на размер архивов. Как видно из последней колонки использование словаря размером 64МБ по сравнению с 32МБ дает очень небольшое преимущество, всего 1-2%.
Выводы:
1. Для упаковки достаточно использовать словарь 32МБ.
2. Данная перепаковка позволяет значительно сократить время индексации, хотя я, чесно говоря, рассчитывал на большее. В данном случае узким горлошком становится запись множества извлеченных inf файлов на диск перед их обработкой. При переделке алгоритма индексации, таким образом что inf файлы распаковываются в оперативную память, данная перепаковка сможет показать свой полный потенциал.
3. Упаковка с помощью этого скрипта иногда даже немного лучше упаковывает драйверпаки чем упакованые с помощью графического интерфейса. Это можно объяснить тем что в консольном режиме 7z имеет болше настроек(чем в графическом интерфейсе), которые можно регулировать для достижения оптимального результата.
Резюмируя, я надеюсь что новые паки будут упакованы этим методом, что позволит обеспечить оптимальное сжатие, работу паков на системах с малым количеством оперативки, а также ускорить индексацию паков.