Ранее я уже предлагал автору 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 директории.
Первый тест: подмена файловой коллекции отключена (плагин работает в режиме мониторинга).
Второй тест: подмена файловой коллекции включена.
Код: Выделить всё
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]
Получается, что 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.