Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Array vs Object vs Map access given strings indices (2)
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Browser:
Chrome 121
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Map
190.8 Ops/sec
array
61.8 Ops/sec
object
85.9 Ops/sec
Script Preparation code:
var data = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29" ]
Tests:
Map
var map = new Map(data.map((v, i) => [String(i), v])); let count = 0 for (let i=0; i<data.length; i++) { count += parseInt(map.get(String(i))) }
array 1
var array = data; let count = 0 for (let i=0; i<data.length; i++) { count += parseInt(array[parseInt(String(i))]) }
object 1
var object = Object.assign({}, data) let count = 0 for (let c=0; c<1000; c++) { for (let i=0; i<data.length; i++) { count += object[String(i)] } }
object 2
var object = {...data} let count = 0 for (let c=0; c<1000; c++) { for (let i=0; i<data.length; i++) { count += object[String(i)] } }
array 2
var array = data; let count = 0 for (let i=0; i<data.length; i++) { count += parseInt(array[String(i)]) }