Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
debounce ramda vs. vanila
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Browser:
Chrome 135
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
ramda
19037360.0 Ops/sec
vanila
120416464.0 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/ramda/0.27.1/ramda.min.js'></script>
Script Preparation code:
var debounceR = R.curry((config, fn) => { const { delay, initialInstant = false } = (R.is(Number, config) ? { delay: config } : config); let timer = null; let firstCall = false; return (...args) => new Promise((resolve, reject) => { const safeCall = () => { try { resolve(fn.apply(window, args)); } catch (e) { reject(e); } }; if (!firstCall) { firstCall = true; if (initialInstant) { safeCall(); return; } } if (!R.isNil(timer)) { clearTimeout(timer); } timer = setTimeout(safeCall, delay); }); }); var debounceV = (func, timeout) => { let timer; return (...args) => { clearTimeout(timer); timer = setTimeout(() => { func.apply(this, args); }, timeout); }; } var handler = () => {};
Tests:
ramda
debounceR({delay: 0}, handler)
vanila
debounceV(handler, 0)