Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Measure Iterator overhead
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 YaBrowser/24.4.0.0 Safari/537.36
Browser:
Yandex Browser 24
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Loop with conditions
66278.0 Ops/sec
Iterator
60564.1 Ops/sec
Generator
62787.6 Ops/sec
Script Preparation code:
function filter(iterable, predicate) { const iter = iterable[Symbol.iterator](); return { [Symbol.iterator]() { return this; }, next() { let result; while ( !(result = iter.next()).done && !predicate(result.value) ); return result; } }; } function* filterGenerator(iterable, predicate){ for (const value of iterable) { if (predicate(value)) { yield value; } } } var arr = Array(100).fill(0).map((_, i) => i + 1);
Tests:
Loop with conditions
for (const value of arr) { if (value % 3 === 0 && value % 5 === 0) { console.log('foobar'); } }
Iterator
for (const value of filter(arr, (x) => x % 3 === 0 && x % 5 === 0)) { console.log('foobar'); }
Generator
for (const value of filterGenerator(arr, (x) => x % 3 === 0 && x % 5 === 0)) { console.log('foobar'); }