Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

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

 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
remittor



Joined: 21 Oct 2019
Posts: 19
Location: Russia

Post (Separately) Posted: Tue Dec 24, 2019 19:11    Post subject: [WCP] Ускоритель отображения содержимого архивов Reply with quote

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
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14178
Location: Москва

Post (Separately) Posted: Tue Dec 24, 2019 19:32    Post subject: Reply with quote

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

WCP могут путать с WACP. Стоит переименовать.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue Dec 24, 2019 19:52; edited 1 time in total
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9623
Location: Россия, Саратов

Post (Separately) Posted: Tue Dec 24, 2019 19:36    Post subject: Reply with quote

remittor
Оформительские крайности из сообщения убраны. Читайте правила форума. Установка плагина идёт по классической схеме Autorun и TWinKey, переписанной почти дословно. Достаточно было упомянуть только принципиальные нюансы, если они вообще есть. И перестаньте пользоваться тегом List, у вас с ним ничего не получается, кроме порчи вида сообщений.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
remittor



Joined: 21 Oct 2019
Posts: 19
Location: Russia

Post (Separately) Posted: Sat Jan 04, 2020 11:50    Post subject: Reply with quote

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

Так же появилась такая идея:
А возможно ли сделать аналог MultiArc плагина, который бы работал через api WFX-плагинов?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9623
Location: Россия, Саратов

Post (Separately) Posted: Sat Jan 04, 2020 12:05    Post subject: Reply with quote

remittor
Настоятельно рекомендую положить в дистрибутив ридми-файл со всеми необходимыми пояснениями по плагину.
И вам не кажется, что идею про "возможно ли" если и следует обсуждать, то всяко не здесь (где это несомненный оффтоп), а отдельной темой в подфоруме для разработчиков плагинов? Заодно там и пояснили бы, кому и для чего такой аналог вообще может потребоваться.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 178
Location: г. Иркутск

Post (Separately) Posted: Mon Jan 20, 2020 23:03    Post subject: Reply with quote

Потестировал пару недель и снёс. Да он что то наверное ускоряет, но что не открываются вложенные каталоги в некоторых не RAR-архивах это никуда не годится. К примеру в архиве 7z не открывается вложенная Win10_ISO_Update.7z\Win10_Update\mount\ и т. п. Ждём ТС 9.50, где надеюсь ускорение будет сделано более корректно.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9623
Location: Россия, Саратов

Post (Separately) Posted: Tue Jan 21, 2020 07:03    Post subject: Reply with quote

imig73
Почему "ждём" и почему "будет"? Всё, что Гислер хотел и мог, он, насколько понимаю сделал в последних бетах. Включая исправление выявленных багов.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 178
Location: г. Иркутск

Post (Separately) Posted: Tue Jan 21, 2020 07:20    Post subject: Reply with quote

Avada
Таких проблем в 9.50 Beta 13 конечно же нет, только уловить не могу насколько это стало быстрее.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9623
Location: Россия, Саратов

Post (Separately) Posted: Tue Jan 21, 2020 08:34    Post subject: Reply with quote

imig73
Я TC на этот предмет не тестировал, а плагином вообще не пользовался. Но на оффоруме имеется тема, где для тех, кому интересно, есть всяческая информация. В том числе и по внедрению фичи в TC.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group