Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Map.get vs array.indexOf sorting v2
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/140.0.0.0 Safari/537.36
Browser:
Chrome 140
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
7 months ago
Test name
Executions per second
Map
7013328.5 Ops/sec
indexOf
13768669.0 Ops/sec
preparedMap
10489057.0 Ops/sec
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
const order = ['a', 'b', 'c'] const data = ['b', 'c', 'a', 'd'] const preparedMap = new Map(order.map((letter, index) => [letter, index]))
Tests:
Map
const orderMap = new Map(order.map((letter, index) => [letter, index])) data.sort((a, b) => (orderMap.get(a) ?? Infinity) - (orderMap.get(b) ?? Infinity))
indexOf
data.sort((a, b) => { const indexA = order?.indexOf(a) const indexB = order?.indexOf(b) if (indexA !== -1 && indexB !== -1) return indexA - indexB if (indexA === -1 && indexB !== -1) return 1 if (indexA !== -1 && indexB === -1) return -1 return 0 })
preparedMap
data.sort((a, b) => (preparedMap.get(a) ?? Infinity) - (preparedMap.get(b) ?? Infinity))