Много файлов в одной папке

dvp

Новичок
Много файлов в одной папке

Здравствуйте.

Возник такой вопрос:
У меня сформировалась коллекция файлов общим числом более 40000.
Возник вопрос на сколько логично хранить их все в одной папке. Т.е. без подпапок.

Много ли я теряю ресурсов на поиске файлов в папке? Быть может быстрее работало, если бы я для каждой тысячи файлов создавать подпапку (т.е. 40 папок по 1000 файлов) ?

Или об этом вообще не стоит думать?
 

Andreika

"PHP for nubies" reader
40 папок по 1000 файлов это не оптимизация... лучше 40000 папок по 1 файлу %)

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

dvp

Новичок
Автор оригинала: Andreika
если очень хочется, то можешь и подумать... начни думать с того, что операции с файлами оч сильно зависят от файловой системы и ос
Ох ты. Я-то и поредполагать не мог такого.

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

.des.

Поставил пиво кому надо ;-)
dvp, например, reiserFS и можете не думать.
 

StUV

Rotaredom
dvp
вариант .des. или разбить

-~{}~ 02.06.06 17:26:

Andreika
при большом кол-ве файлов в одной папке на ext2/3 и ntfs точно появляются тормоза
 

dvp

Новичок
Автор оригинала: Andreika
dvp
и? как в таком случае 40000 файлов уменьшатся?
Уменьшается не количество файлов, а время на поиск каждого из них.

Простой пример - массив и двумерный массив: гораздо быстрее перебрать сначала 40 элементов а потом 1000 (в среднем 520), чем перебирать 40000 (в среднем 20000)

-~{}~ 02.06.06 17:34:

А где optimum? разбивать по 1000 или может лучше по 100? или может ещё лучше сначала сделать папки с тысячами, а в них подпапки с сотнями?

Не могу сообразить из каких соображений выбрать этот шаг
 

Andreika

"PHP for nubies" reader
dvp
т.е. уменьшение кол-ва файлов в 2 раза увеличит скорость нахождения ~в те же 2 раза?
 

dvp

Новичок
Автор оригинала: Andreika
dvp
т.е. уменьшение кол-ва файлов в 2 раза увеличит скорость нахождения ~в те же 2 раза?
В примере с массивами - да
С файловыми системами - да для FATxx, для других не решусь сказать
 

dvp

Новичок
сложность реализации теста - 8000 гигов на хостинге ворочать туда сюда как-то не сподручно. К тому же они в работе находятся.

Впрочем на локальном NTFS я не побрезгую это сделать
 

Andreika

"PHP for nubies" reader
потесть, потесть ) интересно будет глянуть на результаты )

для других не решусь сказать
а че так? а исходя из чего мы тебе должны советовать по 100 файлов разложить или по 1000? наугад? дык сам монетку кинь
 

Andreika

"PHP for nubies" reader
это главный программер гугла, он прячет порнокартинки, наворованные гуглом от правосудия %)
 

Andreika

"PHP for nubies" reader
StUV
мы еще с ос вроде даже не определились :)

при большом кол-ве файлов в одной папке на ext2/3 и ntfs точно появляются тормоза
судя по первоисточнику "тормоза" в ntfs должны начинаться уже с небольшого кол-ва файлов в папке и не особо меняться с кол-вом этих файлов
 

StUV

Rotaredom
Andreika
по крайней мере MS вводя новый формат kb-update (wsus) сделали .cab, в котором патчи раскидали на последнем уровне по папкам с именами, получаемым двумя последними символами хэша от имени файла

имхо, это все не просто так ;)
 
Сверху