Ускоряем 7-zip

для раздела Блоги
Есть несложный способ получить 5-10% прироста производительности в 7-zip 4.43b - как во встроенном бенчмарке, так и при архивации файлов. Просто распакуйте содержимое этого архива в папку, где у вас установлен 7-zip, перезаписывая файлы. Чтобы перезаписать файл 7-zip.dll, надо сначала прибить процесс EXPLORER.EXE, а файлы переписывать другим файловым менеджером (TotalCmd, FAR).
Предупреждение: эта версия будет работать только на процессорах с поддержкой SSE2 (Opteron, Athlon 64/FX/X2, Sempron для S754 и S939, Pentium 4, Pentium 4 Xeon, Celeron для S478 и LGA755, Pentium M, Celeron M, Core, Core 2)!


А теперь, если кому интересно - как эта штука работает. Дело в том, что 7-zip скомпилирован MSVC 6.0 и (для большей совместимости) не использует расширенные наборы инструкций (MMX, SSE, SSE2). В конференции 7-zip участник noangel упомянул (ветка обсуждения целиком), что скомпилировал 7-zip 4.43b при помощи Intel C Compiler [ICC] 9.1 (с набором опций QxN, что подразумевает использование SSE2), и получил 12% прироста скорости. Замечательно, то есть загвоздка: ICC встраивает во все исполнимые модули проверку, на каком процессоре он (файл) запускается, и если это не Intel - не работает. К счастью, умельцы с iXBT нашли способ обходить эту защиту и написали кряк эээ... патч. C помощью этого патча я исправил все исполнимые файлы из билда noangel, и на своей системе (Athlon 64 3200+@2700МГц) получил ~5% выигрыш во встроенном бенчмарке:


Оригинальный 7-zip 4.43b - скомпилирован MSVC

7-zip 4.43b, скомпилированный ICC с использованием SSE2

P.S. Полагаю, что прирост на процессоре Intel больше, чем на AMD совсем не из-за того, что компилятор Intel заточен под свои процессоры, а из-за очень эффективной работы с памятью у K8. Ну и сам прирост от компиляции ICC не из-за использования SSE2 инструкций (7-zip вообще FPU не использует), а из-за добавления prefetch (инструкций предвыборки данных из памяти) или инструкций условной пересылки CMOVxx.
Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают