Pelmeshka127 / Cache

Реализация работы LFU кэша на C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LFU

В данном проекте я реализую свой 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

About

Реализация работы LFU кэша на C++


Languages

Language:C++ 97.1%Language:CMake 2.9%