В моем приложении Mac хранится коллекция объектов (с Базовыми данными), каждый из которых имеет изображение обложки и которому я назначаю UUID при создании.Первоначально я сохранял изображения обложек в виде поля в своем хранилище Core Data, но недавно начал вместо этого хранить их на диске в файловой системе.
Изначально я храню обложки в плоском каталоге,используя UUID для имени файла, как показано ниже.Это дает мне O (1) выборку, поскольку я точно знаю, где искать.
...
/.../Covers/3B723A52-C228-4C5F-A71C-3169EBA33677.jpg
/.../Covers/6BEC2FC4-B9DA-4E28-8A58-387BC6FF8E06.jpg
...
Я посмотрел, как другие приложения выполняют эту задачу, и заметил многоуровневую схему, так какниже (например).Это все еще может быть реализовано за O (1) раз.
...
/.../Covers/A/B/3B723A52-C228-4C5F-A71C-3169EBA33677.jpg
/.../Covers/C/D/6BEC2FC4-B9DA-4E28-8A58-387BC6FF8E06.jpg
...
В чем может быть причина, чтобы сделать это таким образом?Ограничивает ли OS X количество файлов в каталоге?В некотором смысле быстрее получить их с диска?Это сделало бы код, используемый для вычисления имени файла, более сложным, поэтому я хочу выяснить, есть ли для этого веские причины.