Итак представим что у вас или у вашего клиента большой, высоко-посещаемый сайт. Также представим инфоблок в котором больше 80k элементов. Наверняка у этих элементов есть детальное описание и я уверен 99,9% что ID кэша это ID элемента инфоблока.
Итак у нас получается что в папке допустим /bitrix/cache/object_80k/ - 80 000 папок с кэшем, т.е.
/bitrix/cache/object_80k/1
/bitrix/cache/object_80k/2
/bitrix/cache/object_80k/3
/bitrix/cache/object_80k/n
/bitrix/cache/object_80k/80 000
Какой бы у вас не был сервер, поиск папки в общем списке из 80k занимает время. Плюс если сайт посещаемый то вы догадываетесь что происходит, нагрузка на ровном месте, даже в том месте, где мы пытаемся ее уменьшить.
Итак решение, на мой взгляд просто очень красивое и элегантное, его подсказал мой коллега Николай Рыжонин [

Пример:

Итак функция создаст путь вида /object_80k/as/df/ID и тем самым разобьет 80k папок на под папки, тем самым уменьшит время поиска кэша и общую нагрузку на сервер.
Итак у нас получается что в папке допустим /bitrix/cache/object_80k/ - 80 000 папок с кэшем, т.е.
/bitrix/cache/object_80k/1
/bitrix/cache/object_80k/2
/bitrix/cache/object_80k/3
/bitrix/cache/object_80k/n
/bitrix/cache/object_80k/80 000
Какой бы у вас не был сервер, поиск папки в общем списке из 80k занимает время. Плюс если сайт посещаемый то вы догадываетесь что происходит, нагрузка на ровном месте, даже в том месте, где мы пытаемся ее уменьшить.
Итак решение, на мой взгляд просто очень красивое и элегантное, его подсказал мой коллега Николай Рыжонин [

Пример:

Итак функция создаст путь вида /object_80k/as/df/ID и тем самым разобьет 80k папок на под папки, тем самым уменьшит время поиска кэша и общую нагрузку на сервер.