Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
map spread vs manual vs assign
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1
Browser:
Mobile Safari 18
Operating system:
iOS 18.5
Device Platform:
Mobile
Date tested:
9 months ago
Test name
Executions per second
spread
5398.8 Ops/sec
literal
13054.2 Ops/sec
assign
1586.8 Ops/sec
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
function mapObjectSpread(obj) { return { ...obj, id: obj.objId }; } function mapObjectLiterally(obj) { return { objId: obj.objId, a: obj.a, b: obj.b, c: obj.c, id: obj.objId }; } function mapObjectAssign(obj) { return Object.assign({}, obj, { id: obj.objId }); } const objs = []; for (let i = 0; i < 10000; i++) { objs.push({ a: "a", b: "b", c: "c", objId: i }); }
Tests:
spread
objs.map(mapObjectSpread);
literal
objs.map(mapObjectLiterally);
assign
objs.map(mapObjectAssign);