simple-fifo-cache
v0.0.7
Published
Easy to understand and tiny FIFO cache for use in-browser.
Downloads
5
Readme
Simple FIFO Cache
Easy to understand and tiny FIFO cache for use in-browser.
About FIFO Cache
- It's time to revisit LRU vs FIFO
- Increasing the cache size does not benefit its efficiency (see Bélády's anomaly)
Eviction Policy
The oldest item is removed once the cache is full.
Installation
yarn add simple-fifo-cache
Usage
import FIFOCache from "simple-fifo-cache";
const cache = new FifoCache();
cache.set("foo", "bar");
cache.set("baz", "qux");
cache.set("quux", "corge");
cache.get("foo"); // 'bar'
cache.get("baz"); // 'qux'
cache.flush(); // Clears the cache
Benchmarks
smallCache#new x 40,100,728 ops/sec ±0.81% (93 runs sampled)
largeCache#new x 41,600,752 ops/sec ±0.42% (96 runs sampled)
smallCache#put single value x 8,585,719 ops/sec ±2.83% (79 runs sampled)
largeCache#put single value x 7,813,169 ops/sec ±2.77% (76 runs sampled)
smallCache#get single value x 105,757,577 ops/sec ±0.30% (101 runs sampled)
largeCache#get single value x 105,168,620 ops/sec ±0.25% (98 runs sampled)
smallCache#put multiple values practical x 9,851 ops/sec ±3.08% (68 runs sampled)
largeCache#put multiple values practical x 8,607 ops/sec ±3.74% (71 runs sampled)
smallCache#put multiple values large x 986 ops/sec ±2.95% (72 runs sampled)
largeCache#put multiple values large x 828 ops/sec ±3.44% (73 runs sampled)