Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
functions that uses an async function in Array.find() 2
functions that uses an async function in Array.find()
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/118.0.0.0 Safari/537.36
Browser:
Chrome 118
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
async function 1
90.3 Ops/sec
async function 4
60.7 Ops/sec
async function 9
55.8 Ops/sec
Script Preparation code:
async function findAsync(arr, predicate) { const results = await Promise.all(arr.map(predicate)); return arr[results.indexOf(true)]; } async function findAsync4(arr, predicate) { let Promises = arr.map((item) => new Promise((resolve) => { if (predicate(item)) { resolve(item); } })); return new Promise((resolve, reject) => { Promises.map(p => { p.then(result => { if (result) { resolve(result); return; } }); }); }); } async function findAsync9(arr, predicate) { let Promises = arr.map((item) => new Promise((resolve) => { if (predicate(item)) { resolve(item); } })); return await Promise.any(Promises); } var items = [...Array(100000).keys()].map((e) => { return { id: e, }; })
Tests:
async function 1
(async () => { let f = await findAsync(items, (e) => e.id === 95000); })();
async function 4
(async () => { let f = await findAsync4(items, (e) => e.id === 95000); })();
async function 9
(async () => { let f = await findAsync9(items, (e) => e.id === 95000); })();