Новая реализация LRU-кэша для PHP 8.5 достигает производительности более 15,4 млн операций в секунду на обычном ноутбуке в среде Docker. Разработчик создал этот инструмент как фундамент для Identity Map в слое персистентности поверх Eloquent.

Архитектура использует плоские массивы с целочисленными индексами вместо объектов, что снижает количество аллокаций памяти и улучшает локальность данных для CPU-кэша. Система применяет пул объектов, исключая новые выделения памяти после первичного заполнения.

Использование readonly-свойств и финальных классов помогает JIT-компилятору выполнять девиртуализацию и инлайнинг методов. Это позволяет превратить сложную логику в прямые операции с памятью, что существенно сокращает задержки при выполнении запросов.

Функциональность разделена между классами LruNodePool, LruNodeKeys и LruNodeLinks. Такой подход позволяет JIT-компилятору эффективно обрабатывать горячие пути кода, не тратя ресурсы на анализ громоздких структур с избыточными проверками типов.

По прогнозам разработчика, на серверном оборудовании пропускная способность может составить 25–30 млн операций в секунду. Такая скорость позволяет исключить оверхед кэширования из уравнения производительности, перенося нагрузку обратно на базу данных.