[WCP] Ускоритель отображения содержимого архивов
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Плагины Total Commander

#1: [WCP] Ускоритель отображения содержимого архивов Author: remittorLocation: Russia PostPosted: Tue Dec 24, 2019 19:11
    —
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 раз!!! Cool


Скачать: 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

#2:  Author: FlasherLocation: Москва PostPosted: Tue Dec 24, 2019 19:32
    —
remittor wrote:
Плагин пока заточен только под TotalCmd 9.22a 32-bit.
Т.е на новой линейке не заведётся (поля Autorun нет в списке)?

WCP могут путать с WACP. Стоит переименовать.


Last edited by Flasher on Tue Dec 24, 2019 19:52; edited 1 time in total

#3:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Dec 24, 2019 19:36
    —
remittor
Оформительские крайности из сообщения убраны. Читайте правила форума. Установка плагина идёт по классической схеме Autorun и TWinKey, переписанной почти дословно. Достаточно было упомянуть только принципиальные нюансы, если они вообще есть. И перестаньте пользоваться тегом List, у вас с ним ничего не получается, кроме порчи вида сообщений.

#4:  Author: remittorLocation: Russia PostPosted: Sat Jan 04, 2020 11:50
    —
Обновил плагин и опубликовал сорцы на github.
Теперь можно настраивать плагин через INI-файл.

Так же появилась такая идея:
А возможно ли сделать аналог MultiArc плагина, который бы работал через api WFX-плагинов?

#5:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Jan 04, 2020 12:05
    —
remittor
Настоятельно рекомендую положить в дистрибутив ридми-файл со всеми необходимыми пояснениями по плагину.
И вам не кажется, что идею про "возможно ли" если и следует обсуждать, то всяко не здесь (где это несомненный оффтоп), а отдельной темой в подфоруме для разработчиков плагинов? Заодно там и пояснили бы, кому и для чего такой аналог вообще может потребоваться.

#6:  Author: imig73Location: г. Иркутск PostPosted: Mon Jan 20, 2020 23:03
    —
Потестировал пару недель и снёс. Да он что то наверное ускоряет, но что не открываются вложенные каталоги в некоторых не RAR-архивах это никуда не годится. К примеру в архиве 7z не открывается вложенная Win10_ISO_Update.7z\Win10_Update\mount\ и т. п. Ждём ТС 9.50, где надеюсь ускорение будет сделано более корректно.

#7:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Jan 21, 2020 07:03
    —
imig73
Почему "ждём" и почему "будет"? Всё, что Гислер хотел и мог, он, насколько понимаю сделал в последних бетах. Включая исправление выявленных багов.

#8:  Author: imig73Location: г. Иркутск PostPosted: Tue Jan 21, 2020 07:20
    —
Avada
Таких проблем в 9.50 Beta 13 конечно же нет, только уловить не могу насколько это стало быстрее.

#9:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Jan 21, 2020 08:34
    —
imig73
Я TC на этот предмет не тестировал, а плагином вообще не пользовался. Но на оффоруме имеется тема, где для тех, кому интересно, есть всяческая информация. В том числе и по внедрению фичи в TC.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group