remittor
|
Posted: Tue Dec 24, 2019 19:11 Post subject: [WCP] Ускоритель отображения содержимого архивов |
|
|
WCP - ускоритель отображения содержимого архивов
Ранее я уже предлагал автору TC усовершенствовать алгоритм отображения содержимого архивов.
Но очень похоже что автор просто забил болт на это (как и на тормозной плагин SFTP).
Впрочем самому стало интересно узнать, а как себя будет вести TC при грамотной реализации файлового хранилища.
Для этого решил написать плагин, который перехватывает 3 функций в TC и патчит динамически указатель на массив с данными.
Теперь попробуем протестировать WCP-плагин на скорость.
Стэнд для тестирования: Intel J1900 2.5GHz, DDR3 16GiB, SSD SAM860EVO 512GB, Win7 SP1 x64, TotalCmd 9.22a 32-bit
Файл для тестирования: TAR-файл 11GB с исходниками андройда и т.п., который содержит 453973 файлов и 52930 директории.
Первый тест: подмена файловой коллекции отключена (плагин работает в режиме мониторинга).
Второй тест: подмена файловой коллекции включена.
Code: | Test 1 | Test 2 | items | comment/directory
----------------------------------------------------------------
46527.07 ms | 3351.26 ms | 506900 | file collection building
4615.79 ms | 0.12 ms | 1 | [root dir]
4952.83 ms | 1.00 ms | 51 | [AP\kernel\firmware]
4830.28 ms | 3.45 ms | 130 | [AP\kernel\kernel]
5653.89 ms | 5.08 ms | 188 | [AP\external]
|
Подсчитаем величину полученного ускорения при отображении содержимого архива: 5653.89 / 5.08 = 1113
Получается, что WCP-плагин ускоряет работу с архивами как минимум в 1000 раз!!!
Скачать: wcpatcher.zip
Поддерживаемые версии TotalCmd: 9.22a, 9.50b11, 9.50b12
Примечания:
1) Если в архиве меньше 3000 элементов, то плагин будет работать в холостую, т.е. без подмены указателя на файловое хранилище.
2) Для выключения подмены указателя на файловое хранилище достаточно в имя архива добавить подстроку "TURN+OFF+WCP".
3) Для включения подмены указателя на файловое хранилище достаточно в имя архива добавить подстроку "TURN+ON+WCP".
4) Логирование осуществляется в DbgView.
Установка плагина:
Установка плагина происходит по обычной схеме.
Далее, чтобы реализовать автозапуск при старте Total Commander, нужно создать цветовую схему следующим образом:
1. На странице настроек «Цвета» нажать кнопку «Определить цвета для типов файлов».
2. В диалоге «Определить цвета для типов файлов» поставить курсор в любое место списка и нажать кнопку «Добавить».
3. Нажать кнопку «Шаблон».
4. В диалоге «Выбор шаблона» перейти на вкладку «Плагины».
5. Выбрать в выпадающем списке плагинов wcpatcher.
6. В списке свойств выбрать любое значение (допустимо даже пустую строку).
7. Выбрать в выпадающем списке операций "=" и ввести в следующем поле любое целое число, например, "1".
8. Нажать кнопку «Записать», назвать как-либо шаблон, например, "WCP".
9. Далее последовательно нажимать кнопку OK во всех диалогах до выхода из всех настроек.
10. Перезапустить TC.
Last edited by remittor on Thu Jan 09, 2020 15:30; edited 12 times in total |
|