View previous topic :: View next topic |
Author |
Message |
ShirovGoga
Joined: 06 Dec 2011 Posts: 4
|
(Separately) Posted: Tue Dec 06, 2011 15:49 Post subject: Как ускорить работу с большой папкой? |
|
|
У меня в папке около 10000 под-папок и около 20000 файлов сумарно в этих папках (маленьких), общий размер около 5mb (на диске пишет что 70mb)
Так вот, TC ну очень уж долго открывает эту папку, а последующие разы уже моментально (видимо кешируется).
Может как-то в настройках можно отрубить чтение всего и вся за раз, пускай сначала папку откроет, а все остальное по мере пролистывания?
Есть ли способ? |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Sat Dec 10, 2011 19:16 Post subject: |
|
|
Для чтения "только папок" всё равно нужно перечитать все файлы в папке, чтобы проверить, какой из них "папка", а какой "файл".
Как вариант, нажать Esc, чтобы не ждать. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
Ramiro
Joined: 05 Aug 2009 Posts: 97 Location: у тотала столько поклонников?
|
(Separately) Posted: Sat Dec 10, 2011 19:40 Post subject: |
|
|
Как вариант... "антивирус" может "помогать" быстрому входу... _________________ У меня только один командир... Total. |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Sat Dec 10, 2011 20:07 Post subject: |
|
|
Да, кстати, можно попробовать добавить папку в список исключений. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10263 Location: Россия, Саратов
|
(Separately) Posted: Sat Dec 10, 2011 20:12 Post subject: |
|
|
Моторокер wrote: | Да, кстати, можно попробовать добавить папку в список исключений. |
...только, конечно, антивируса, а не TC. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sun Dec 11, 2011 09:55 Post subject: |
|
|
Отключить отображение значков - не вариант? _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
ShirovGoga
Joined: 06 Dec 2011 Posts: 4
|
(Separately) Posted: Sun Dec 11, 2011 18:56 Post subject: |
|
|
Антивируса-монитора нету, да и там текстовички одни. Написал автору, тот спросил какой диск, сетевой или локальный и предложил сделать дефрагментацию.
Дефрагментация не помогла.
Так что видимо придется смириться, если автор алгоритм не придумает нормальный, например не искать вложенные файлы как только папка обнаружена или не искать далее, как только на экран не влезает список, реализовать ввиде опции можно.
Ибо это ненормально в век 4-x ядер и неограниченной памяти. Он должен летать, также как если повторно эту папку открыть он моментально ее открывает. |
|
Back to top |
|
|
dikinsonik
Joined: 22 Aug 2006 Posts: 13
|
(Separately) Posted: Sun Dec 11, 2011 21:34 Post subject: |
|
|
Вот интересно, как на SSD открывается... |
|
Back to top |
|
|
Dimych
Joined: 01 Feb 2006 Posts: 27
|
(Separately) Posted: Sun Dec 11, 2011 23:13 Post subject: |
|
|
Попробуйте закоментировать параметр "treefilelocation=" в ini-файле или указать несуществующий (неправильный) путь к файлу treeinfo и перезапустить TC
При первом входе в папку TC строит дерево-список папок и сохраняет его в файле treeinfo в корне диска. При большом количестве папок, в т. ч. вложенных, это занимает время.
. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Mon Dec 12, 2011 00:34 Post subject: |
|
|
ShirovGoga wrote: | если автор алгоритм не придумает нормальный, например не искать вложенные файлы как только папка обнаружена или не искать далее, как только на экран не влезает список, реализовать ввиде опции можно. |
Нельзя. Львиную долю времени при получении списка занимает выдача самого первого файла, поскольку система именно в этот момент строит полный список, а потом лишь отдаёт по запросу последующие элементы.
ShirovGoga wrote: | Ибо это ненормально в век 4-x ядер и неограниченной памяти. Он должен летать, также как если повторно эту папку открыть он моментально ее открывает. |
Во время повторного открытия используются оперативка и процессор, т.к. список закэшировался — вот и летает. А при первом открытии хочешь не хочешь, а надо список считывать с диска, так что всё упирается в производительность дисковой подсистемы. Процы и память тут никак помочь не могут.
По-хорошему, в таких случаях надо реорганизовать схему хранения файлов, чтобы распределить их по подкаталогам. Например, в некоторых веб-движках файлы раскладываются по подкаталогам с именами, состоящими из первых двух букв имени файла. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Dec 12, 2011 10:58 Post subject: |
|
|
CaptainFlint wrote: | Нельзя. Львиную долю времени при получении списка занимает выдача самого первого файла, поскольку система именно в этот момент строит полный список, а потом лишь отдаёт по запросу последующие элементы. |
Это где-то документировано? Что-то сомневаюсь, что это имеет какой-то смысл. По имени файла всегда можно найти файл, который больше, и тоже соответствует маске, нет необходимости делать это сразу. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Mon Dec 12, 2011 12:44 Post subject: |
|
|
MVV wrote: | Это где-то документировано? |
Я не видел. Просто когда-то пытался написать свой плагин для максимально быстрого определения, пустой ли каталог, т.к. DirSizeCalc даёт слишком большие тормоза. Самописный дал такие же тормоза, так что занялся профилировкой — выяснил, что большую часть времени занимает именно FindFirstFile. Немного покопавшись в недрах дизасмом и поигравшись с низкоуровневыми функциями, сделал вывод, что на этом этапе строится весь список по запрошенной маске, даже если мне реально надо проверить, если ли в каталоге хоть один файл или нет. Не гарантирую, что мои выводы корректны, но всё указывает именно на такое поведение.
MVV wrote: | По имени файла всегда можно найти файл, который больше, и тоже соответствует маске, нет необходимости делать это сразу. |
Не понял этой фразы. Какое отношение имеет размер файла к построению списка файлов по маске? _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Dec 12, 2011 14:22 Post subject: |
|
|
CaptainFlint
Хм, в принципе, может так оно и есть, проще построить список сразу. Я у себя в VirtualPanel перечислял все файлы по FsFindFirst по другой причине - между вызовами FsFindNext файл в середине мог быть удалён другим потоком, что могло бы сделать итератор инвалидным (первые версии перечисляли по мере вызова FsFindNext).
CaptainFlint wrote: | Не понял этой фразы. Какое отношение имеет размер файла к построению списка файлов по маске? |
"Больше" в смысле при сравнении строк имён, а не по размеру. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Fri Dec 16, 2011 22:59 Post subject: |
|
|
Поставить папку в автозагрузку свёрнутой, чтобы при загрузке папка прокешировалась. Или какой-либо другой программой читать её в фоне при загрузке винды.
Также возможно, ответ есть здесь:
Долго открываются некоторые папки _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
|