Spread vs in-place

Benchmark created on


Setup

var myObject = {
	value1: null,
	value2: 1,
	arr: [{zero: 0},{one: 1}, {two: 2}]
}

function updateObject(original) {
    // Calculate changes
    let changes = {
        value1: "value1",
        value2: 10,
        arr: [{one: 1}, {two: 2}, {three: 3}]
    };

    return changes;
}

function inPlace(original) {
	original.value1 = "value1"
	original.value2 = 10
	original.arr = [{one: 1}, {two: 2}, {three: 3}]
}

Test runner

Ready to run.

Testing in
TestOps/sec
Spread
let changes = updateObject(myObject);
myObject = { ...myObject, ...changes };
ready
In-place
inPlace(myObject)
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.