[WCP] Ускоритель отображения содержимого архивов

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
remittor
Сообщения: 19
Зарегистрирован: Пн окт 21, 2019 14:48
Откуда: Russia

[WCP] Ускоритель отображения содержимого архивов

Сообщение remittor »

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 директории.

Первый тест: подмена файловой коллекции отключена (плагин работает в режиме мониторинга).
Второй тест: подмена файловой коллекции включена.

Код: Выделить всё

  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 раз!!! 8)


Скачать: 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.
Последний раз редактировалось remittor Чт янв 09, 2020 14:30, всего редактировалось 12 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

remittor писал(а):Плагин пока заточен только под TotalCmd 9.22a 32-bit.
Т.е на новой линейке не заведётся (поля Autorun нет в списке)?

WCP могут путать с WACP. Стоит переименовать.
Последний раз редактировалось Flasher Вт дек 24, 2019 18:52, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

remittor
Оформительские крайности из сообщения убраны. Читайте правила форума. Установка плагина идёт по классической схеме Autorun и TWinKey, переписанной почти дословно. Достаточно было упомянуть только принципиальные нюансы, если они вообще есть. И перестаньте пользоваться тегом List, у вас с ним ничего не получается, кроме порчи вида сообщений.
Даже самая богатая фантазия
Не представит себе наши безобразия.
remittor
Сообщения: 19
Зарегистрирован: Пн окт 21, 2019 14:48
Откуда: Russia

Сообщение remittor »

Обновил плагин и опубликовал сорцы на github.
Теперь можно настраивать плагин через INI-файл.

Так же появилась такая идея:
А возможно ли сделать аналог MultiArc плагина, который бы работал через api WFX-плагинов?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

remittor
Настоятельно рекомендую положить в дистрибутив ридми-файл со всеми необходимыми пояснениями по плагину.
И вам не кажется, что идею про "возможно ли" если и следует обсуждать, то всяко не здесь (где это несомненный оффтоп), а отдельной темой в подфоруме для разработчиков плагинов? Заодно там и пояснили бы, кому и для чего такой аналог вообще может потребоваться.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Потестировал пару недель и снёс. Да он что то наверное ускоряет, но что не открываются вложенные каталоги в некоторых не RAR-архивах это никуда не годится. К примеру в архиве 7z не открывается вложенная Win10_ISO_Update.7z\Win10_Update\mount\ и т. п. Ждём ТС 9.50, где надеюсь ускорение будет сделано более корректно.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

imig73
Почему "ждём" и почему "будет"? Всё, что Гислер хотел и мог, он, насколько понимаю сделал в последних бетах. Включая исправление выявленных багов.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Avada
Таких проблем в 9.50 Beta 13 конечно же нет, только уловить не могу насколько это стало быстрее.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

imig73
Я TC на этот предмет не тестировал, а плагином вообще не пользовался. Но на оффоруме имеется тема, где для тех, кому интересно, есть всяческая информация. В том числе и по внедрению фичи в TC.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Ответить