Comparing version 0.0.42 to 0.0.43
@@ -1,2 +0,2 @@ | ||
/*! dw-cache v0.0.42 https://github.com/falsandtru/dw-cache | (c) 2021, falsandtru | (Apache-2.0 AND MPL-2.0) License */ | ||
/*! dw-cache v0.0.43 https://github.com/falsandtru/dw-cache | (c) 2021, falsandtru | (Apache-2.0 AND MPL-2.0) License */ | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
@@ -60,5 +60,5 @@ if(typeof exports === 'object' && typeof module === 'object') | ||
})); | ||
exports.ObjectSetPrototypeOf = exports.ObjectGetPrototypeOf = exports.ObjectCreate = exports.ObjectAssign = exports.toString = exports.isEnumerable = exports.isPrototypeOf = exports.hasOwnProperty = exports.isArray = exports.sign = exports.round = exports.random = exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.parseInt = exports.parseFloat = exports.isSafeInteger = exports.isNaN = exports.isInteger = exports.isFinite = exports[NaN] = void 0; | ||
exports.ObjectSetPrototypeOf = exports.ObjectGetPrototypeOf = exports.ObjectCreate = exports.ObjectAssign = exports.toString = exports.isEnumerable = exports.isPrototypeOf = exports.hasOwnProperty = exports.isArray = exports.sqrt = exports.log = exports.tan = exports.cos = exports.sign = exports.round = exports.random = exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.parseInt = exports.parseFloat = exports.isSafeInteger = exports.isNaN = exports.isInteger = exports.isFinite = exports[NaN] = void 0; | ||
exports[NaN] = Number.NaN, exports.isFinite = Number.isFinite, exports.isInteger = Number.isInteger, exports.isNaN = Number.isNaN, exports.isSafeInteger = Number.isSafeInteger, exports.parseFloat = Number.parseFloat, exports.parseInt = Number.parseInt; | ||
exports.abs = Math.abs, exports.ceil = Math.ceil, exports.floor = Math.floor, exports.max = Math.max, exports.min = Math.min, exports.random = Math.random, exports.round = Math.round, exports.sign = Math.sign; | ||
exports.abs = Math.abs, exports.ceil = Math.ceil, exports.floor = Math.floor, exports.max = Math.max, exports.min = Math.min, exports.random = Math.random, exports.round = Math.round, exports.sign = Math.sign, exports.cos = Math.cos, exports.tan = Math.tan, exports.log = Math.log, exports.sqrt = Math.sqrt; | ||
exports.isArray = Array.isArray; | ||
@@ -370,2 +370,3 @@ exports.hasOwnProperty = Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty); | ||
earlyExpiring: false, | ||
interval: 0, | ||
limit: 950, | ||
@@ -401,2 +402,3 @@ capture: { | ||
this.space = settings.space; | ||
this.interval = settings.interval || (0, alias_1.sqrt)(this.capacity) | 0 || 1; | ||
this.limit = settings.limit; | ||
@@ -460,3 +462,3 @@ this.earlyExpiring = settings.earlyExpiring; | ||
if (this.misses >= LRU.length) { | ||
LRU.head = LRU.head.next; | ||
LRU.head = this.misses % this.interval === 0 ? LRU.head.next.next : LRU.head.next; | ||
} | ||
@@ -463,0 +465,0 @@ |
{ | ||
"name": "dw-cache", | ||
"version": "0.0.42", | ||
"version": "0.0.43", | ||
"description": "Dual window cache adaptively coordinates the ratio of LRU to LFU using the two sliding windows.", | ||
@@ -53,3 +53,3 @@ "private": false, | ||
"npm-check-updates": "^16.0.1", | ||
"spica": "0.0.583", | ||
"spica": "0.0.585", | ||
"ts-loader": "^9.3.1", | ||
@@ -56,0 +56,0 @@ "typescript": "4.7.4", |
@@ -57,5 +57,5 @@ # Dual Window Cache | ||
LRU hit rate 16.4% | ||
DWC hit rate 18.0% | ||
DWC - LRU hit rate delta 1.5% | ||
DWC / LRU hit rate ratio 109% | ||
DWC hit rate 18.1% | ||
DWC - LRU hit rate delta 1.6% | ||
DWC / LRU hit rate ratio 110% | ||
@@ -80,4 +80,4 @@ OLTP 1,000 | ||
LRU hit rate 0% | ||
DWC hit rate 9.6% | ||
DWC - LRU hit rate delta 9.6% | ||
DWC hit rate 0.7% | ||
DWC - LRU hit rate delta 0.7% | ||
DWC / LRU hit rate ratio Infinity | ||
@@ -87,4 +87,4 @@ | ||
LRU hit rate 0% | ||
DWC hit rate 23.8% | ||
DWC - LRU hit rate delta 23.8% | ||
DWC hit rate 19.8% | ||
DWC - LRU hit rate delta 19.8% | ||
DWC / LRU hit rate ratio Infinity | ||
@@ -94,4 +94,4 @@ | ||
LRU hit rate 0% | ||
DWC hit rate 47.5% | ||
DWC - LRU hit rate delta 47.5% | ||
DWC hit rate 46.9% | ||
DWC - LRU hit rate delta 46.9% | ||
DWC / LRU hit rate ratio Infinity | ||
@@ -101,4 +101,4 @@ | ||
LRU hit rate 0% | ||
DWC hit rate 70.9% | ||
DWC - LRU hit rate delta 70.9% | ||
DWC hit rate 70.8% | ||
DWC - LRU hit rate delta 70.8% | ||
DWC / LRU hit rate ratio Infinity | ||
@@ -191,2 +191,3 @@ | ||
readonly earlyExpiring?: boolean; | ||
readonly interval?: number; | ||
readonly limit?: number; | ||
@@ -193,0 +194,0 @@ readonly disposer?: (value: V, key: K) => void; |
74549
1272
211