2016-01-06 5 views
-1

У меня есть файлы с номером в качестве имен, которые я хочу поместить в папки на оптимизированном пути, например, примерно столько же файлов в папке и др.Хорошая практика по оптимальному перераспределению файлов в папках

Было бы хорошей практикой выбрать папку после модуля номера? Является ли модуль столь же дорогим, как и деление? Сколько инструкций требуется?

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

Number of files > 5'000'000

+2

Почему вы беспокоитесь об оптимизации математических операций, когда вы имеете дело с файловой системой? Это будет намного медленнее. – Kevin

+0

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

+1

@ludovic: Это просто глупо. Модуль точно такой же, как и деление, поэтому может потребоваться 20 циклов; несколько наносекунд. Пять миллионов из них не будут обманывать глаз в целом. Теперь создайте пять миллионов файлов ... Сколько миганий это сделало? Операция деления не является даже шумом. – rici

ответ

1

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

Даже если вы использовали криптографический хеш (НЕ рекомендуется), стоимость тривиальна по сравнению с файловой системой, необходимой для создания файла. Модуль отлично.

Но вы также можете подумать о человеческих пользователях. Как они (вы) найдут файл? Разделение по диапазонам намного проще в управлении. Затем вы можете назвать каждый каталог в начале диапазона, и это простая задача, чтобы найти правильный каталог.

Когда вы используете числа в качестве имен файлов, вы в какой-то момент пожелаете, чтобы у вас была нулевая прокладка на них одинаковой длины, так что алфавитный порядок и порядковый номер одинаковы. Я настоятельно рекомендую вам получить это с самого начала. Самый распространенный момент, чтобы заметить проблему, - это когда требуется массовое извлечение резервных копий.

 Смежные вопросы

  • Нет связанных вопросов^_^