Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Initialization: direct vs. spread vs. Object.assign
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/127.0.0.0 Safari/537.36
Browser:
Chrome 127
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Direct
820236.6 Ops/sec
Spread
244723.8 Ops/sec
Object.assign
164017.2 Ops/sec
Script Preparation code:
let props = [ "field1", "otherField", "aThirdProperty", "idField", "aproperty", "bproperty", "testingProp", "testingProp2", "description", "description_Field", "description_prop", "prop_description", "model", "number", "other", "another", "even_more", "evenMorer", "addtional_1", "addtional_2", "addtional_3", "addtional_4", "addtional_5", "addtional_6", "addtional_7", "addtional_8", "addtional_9", "addtional_10", "addtional_11", "addtional_12", "addtional_13", "addtional_14", ]; let emptyObj = createEmptyRow(); function createEmptyRow() { const result = {}; props.forEach(prop => result[prop] = null); return result; } function copyEmptyRow() { return { ...emptyObj } } function copyEmptyRowAssign() { return Object.assign({}, emptyObj); }
Tests:
Direct
var data = createEmptyRow()
Spread
var data = copyEmptyRow()
Object.assign
var data = copyEmptyRowAssign()