В данном проекте я реализую свой LFU кэш.
В этой версии я реализовал кэш, основанный на двух списках: кэш - список, состоящий из элементов, каждый из которых хранит в себе количество хитов и список элементов с этим количестовм хитов. Прочитать об этом алгоритме можно здесь или здесь.
Идельный кэш основан на идее того, что мы знаем будущее и оставляем в кэше те элементы, которые скоро встретятся вновь.
На вход пользователь дает размер кэша и количество элементов, с которыми кэшу предстоит работать.
Для загрузки проекта:
git clone git@github.com:Pelmeshka127/Cache.git
cd Cache
Для загрузки тестов на вход принимаются 3 параметра: Размер кэша, количество считываемых элементов и количество тестов.
cmake -B build
cd build/tests/
cmake --build .
./test
Для запуска кэшей:
cmake -B build
cd build/lfu/
cmake --build .
Далее для запуска работы LFU:
./lfu
Для запуска работы идеального кеша:
./ideal