Разработчики Manticore оптимизировали KNN-поиск, изменив способ чтения колоночных данных. Ранее векторы считывались по одному в общий буфер, что исключало групповую обработку. Переход на использование mmap позволил зафиксировать адреса векторов в памяти.

Новый подход дает возможность объединять до 256 кандидатов в группы для одновременного пересчета расстояний. Тесты на базе DBpedia с процессором AMD Ryzen 9 5950X показали рост производительности в 2,57–3,13 раза. Теперь скорость колоночного хранения достигает 85–92% от показателей построчного.

Разрыв в скорости между методами хранения сокращается с ростом параметра k. При k=500 отставание колоночного хранения от построчного составляет около 8%, тогда как ранее этот показатель был втрое выше.

Испытания на датасете taxi объемом 88 ГБ при лимите памяти 32 ГБ подтвердили, что оптимизация не влияет на обычные поисковые запросы. Разница в скорости выполнения стандартных операций составила от 0,12% до 1,54% в зависимости от состояния кеша.