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 

Как ускорить работу с большой папкой?

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
ShirovGoga



Joined: 06 Dec 2011
Posts: 4

Post (Separately) Posted: Tue Dec 06, 2011 15:49    Post subject: Как ускорить работу с большой папкой? Reply with quote

У меня в папке около 10000 под-папок и около 20000 файлов сумарно в этих папках (маленьких), общий размер около 5mb (на диске пишет что 70mb)

Так вот, TC ну очень уж долго открывает эту папку, а последующие разы уже моментально (видимо кешируется).

Может как-то в настройках можно отрубить чтение всего и вся за раз, пускай сначала папку откроет, а все остальное по мере пролистывания?

Есть ли способ?
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sat Dec 10, 2011 19:16    Post subject: Reply with quote

Для чтения "только папок" всё равно нужно перечитать все файлы в папке, чтобы проверить, какой из них "папка", а какой "файл".

Как вариант, нажать Esc, чтобы не ждать.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Ramiro



Joined: 05 Aug 2009
Posts: 97
Location: у тотала столько поклонников?

Post (Separately) Posted: Sat Dec 10, 2011 19:40    Post subject: Reply with quote

Как вариант... "антивирус" может "помогать" быстрому входу...
_________________
У меня только один командир... Total.
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sat Dec 10, 2011 20:07    Post subject: Reply with quote

Да, кстати, можно попробовать добавить папку в список исключений.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sat Dec 10, 2011 20:12    Post subject: Reply with quote

Моторокер wrote:
Да, кстати, можно попробовать добавить папку в список исключений.

...только, конечно, антивируса, а не TC. Wink
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sun Dec 11, 2011 09:55    Post subject: Reply with quote

Отключить отображение значков - не вариант?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ShirovGoga



Joined: 06 Dec 2011
Posts: 4

Post (Separately) Posted: Sun Dec 11, 2011 18:56    Post subject: Reply with quote

Антивируса-монитора нету, да и там текстовички одни. Написал автору, тот спросил какой диск, сетевой или локальный и предложил сделать дефрагментацию.

Дефрагментация не помогла.

Так что видимо придется смириться, если автор алгоритм не придумает нормальный, например не искать вложенные файлы как только папка обнаружена или не искать далее, как только на экран не влезает список, реализовать ввиде опции можно.

Ибо это ненормально в век 4-x ядер и неограниченной памяти. Он должен летать, также как если повторно эту папку открыть он моментально ее открывает.
Back to top
View user's profile Send private message
dikinsonik



Joined: 22 Aug 2006
Posts: 13

Post (Separately) Posted: Sun Dec 11, 2011 21:34    Post subject: Reply with quote

Вот интересно, как на SSD открывается...
Back to top
View user's profile Send private message
Dimych



Joined: 01 Feb 2006
Posts: 27

Post (Separately) Posted: Sun Dec 11, 2011 23:13    Post subject: Reply with quote

Попробуйте закоментировать параметр "treefilelocation=" в ini-файле или указать несуществующий (неправильный) путь к файлу treeinfo и перезапустить TC

При первом входе в папку TC строит дерево-список папок и сохраняет его в файле treeinfo в корне диска. При большом количестве папок, в т. ч. вложенных, это занимает время.

.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Mon Dec 12, 2011 00:34    Post subject: Reply with quote

ShirovGoga wrote:
если автор алгоритм не придумает нормальный, например не искать вложенные файлы как только папка обнаружена или не искать далее, как только на экран не влезает список, реализовать ввиде опции можно.

Нельзя. Львиную долю времени при получении списка занимает выдача самого первого файла, поскольку система именно в этот момент строит полный список, а потом лишь отдаёт по запросу последующие элементы.

ShirovGoga wrote:
Ибо это ненормально в век 4-x ядер и неограниченной памяти. Он должен летать, также как если повторно эту папку открыть он моментально ее открывает.

Во время повторного открытия используются оперативка и процессор, т.к. список закэшировался — вот и летает. А при первом открытии хочешь не хочешь, а надо список считывать с диска, так что всё упирается в производительность дисковой подсистемы. Процы и память тут никак помочь не могут.

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



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Mon Dec 12, 2011 10:58    Post subject: Reply with quote

CaptainFlint wrote:
Нельзя. Львиную долю времени при получении списка занимает выдача самого первого файла, поскольку система именно в этот момент строит полный список, а потом лишь отдаёт по запросу последующие элементы.

Это где-то документировано? Что-то сомневаюсь, что это имеет какой-то смысл. По имени файла всегда можно найти файл, который больше, и тоже соответствует маске, нет необходимости делать это сразу.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Mon Dec 12, 2011 12:44    Post subject: Reply with quote

MVV wrote:
Это где-то документировано?

Я не видел. Просто когда-то пытался написать свой плагин для максимально быстрого определения, пустой ли каталог, т.к. DirSizeCalc даёт слишком большие тормоза. Самописный дал такие же тормоза, так что занялся профилировкой — выяснил, что большую часть времени занимает именно FindFirstFile. Немного покопавшись в недрах дизасмом и поигравшись с низкоуровневыми функциями, сделал вывод, что на этом этапе строится весь список по запрошенной маске, даже если мне реально надо проверить, если ли в каталоге хоть один файл или нет. Не гарантирую, что мои выводы корректны, но всё указывает именно на такое поведение.

MVV wrote:
По имени файла всегда можно найти файл, который больше, и тоже соответствует маске, нет необходимости делать это сразу.

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



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Mon Dec 12, 2011 14:22    Post subject: Reply with quote

CaptainFlint
Хм, в принципе, может так оно и есть, проще построить список сразу. Я у себя в VirtualPanel перечислял все файлы по FsFindFirst по другой причине - между вызовами FsFindNext файл в середине мог быть удалён другим потоком, что могло бы сделать итератор инвалидным (первые версии перечисляли по мере вызова FsFindNext).

CaptainFlint wrote:
Не понял этой фразы. Какое отношение имеет размер файла к построению списка файлов по маске?

"Больше" в смысле при сравнении строк имён, а не по размеру. Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Fri Dec 16, 2011 22:59    Post subject: Reply with quote

Поставить папку в автозагрузку свёрнутой, чтобы при загрузке папка прокешировалась. Или какой-либо другой программой читать её в фоне при загрузке винды.

Также возможно, ответ есть здесь:
Долго открываются некоторые папки
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы 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