Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
array.at vs polyfill vs array.length
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/133.0.0.0 Safari/537.36
Browser:
Chrome 133
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
arr.at(idx)
641519.1 Ops/sec
at(arr, idx)
26017568.0 Ops/sec
arr[idx]
26553486.0 Ops/sec
Script Preparation code:
const arr = new Array(512).fill(0).map(() => Math.round(Math.random() * 512)); const at = (arr, idx) => arr[(idx < 0 ? arr.length + idx : idx)]; for (let i = 0; i < arr.length; i++) arr[i] += 1; // access all elements first to allow browser engine optimization if any. fn1(); fn2(); fn3(); function fn1() { arr.at(5); arr.at(2); arr.at(50); arr.at(20); arr.at(500); arr.at(200); arr.at(-1); } function fn2() { at(arr, 5); at(arr, 2); at(arr, 50); at(arr, 20); at(arr, 500); at(arr, 200); at(arr, -1); } function fn3() { arr[5]; arr[2]; arr[50]; arr[20]; arr[500]; arr[200]; arr[arr.length - 1]; }
Tests:
arr.at(idx)
fn1();fn1();fn1();fn1();fn1();fn1();fn1();fn1();fn1();fn1();fn1();
at(arr, idx)
fn2();fn2();fn2();fn2();fn2();fn2();fn2();fn2();fn2();fn2();fn2();
arr[idx]
fn3();fn3();fn3();fn3();fn3();fn3();fn3();fn3();fn3();fn3();fn3();