Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Find the best ApiListWrapper.findBy() performance
Evaluate the best performance of the .findBy method.
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/143.0.0.0 Safari/537.36
Browser:
Chrome 143
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
3 months ago
Test name
Executions per second
Array.find()
4518045.5 Ops/sec
for..of
3987318.8 Ops/sec
for..of without lambda
4532309.0 Ops/sec
for..of without lambda v2
4579561.5 Ops/sec
Script Preparation code:
const userNames = [ 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Abraham', 'Barbara', 'Charlotte', 'David', 'Dora', 'Emil', 'Emilia', 'Friedrich', 'Gustav', 'Hanna', 'Heinrich', 'Ida', 'Jakob', 'Johanna', 'Karl', 'Lina', 'Ludwig', 'Marie', 'Maximilian', 'Mia', 'Niklas', 'Olga', 'Paul', 'Sophie', 'Theodor', 'Wilhelm', 'Zoe', 'Özil', 'Severin', 'Yvonne' ]; users = userNames.map((name, index) => ({ id: index + 1, name }));
Tests:
[lambda] Array.find() > findBy
const findBy = (fn) => { return users.find(item => fn(item)) ?? null; } findBy(user => user.name === 'Yvonne');
[lambda] for..of > findBy
const findBy = (fn) => { for (const user of users) { if (fn(user)) { return user; } } return null; } findBy(user => user.name === 'Yvonne');
[no lambda] for..of > findByName
const findByName = (name) => { for (const user of users) { if (user.name === name) { return user; } } return null; } findByName('Yvonne');
[no lambda] for..of > findByKeyValuePair
const findByKeyValuePair = (key, value) => { for (const user of users) { if (user[key] === value) { return user; } } return null; } findByKeyValuePair('name', 'Yvonne');
[lambda] for-loop > findBy
const findBy = (fn) => { for (i = 0; i < users.length; ++i) { const user = users[i]; if (fn(user)) { return user; } } return null; } findBy(user => user.name === 'Yvonne');
[no lambda] for-loop> findByName
const findByName = (name) => { for (i = 0; i < users.length; ++i) { const user = users[i]; if (user.name === name) { return user; } } return null; } findByName('Yvonne');
[no lambda] for-loop > findByKeyValuePair
const findByKeyValuePair = (key, value) => { for (i = 0; i < users.length; ++i) { const user = users[i]; if (user[key] === value) { return user; } } return null; } findByKeyValuePair('name', 'Yvonne');