Iteration over small objects

Benchmark created on


Setup

var source = {a: 1, b: 2};
var target = {a: 1, c: 3};
var changes = [];

Test runner

Ready to run.

Testing in
TestOps/sec
for/of Object.entries
for (var [key, value] of Object.entries(source)) {
	if (target[key] !== source[key]) {
		changes.push(key);
		source[key] = target[key]
	}
}
ready
for Object.keys
var keys = Object.keys(source);
for (var i = 0; i < keys.length; i++) {
	var key = keys[i];
	if (target[key] !== source[key]) {
		changes.push(key);
		source[key] = target[key]
	}
}
ready
Assign
var keys = Object.keys(source);
for (var i = 0; i < keys.length; i++) {
	var key = keys[i];
	if (target[key] !== source[key]) {
		changes.push(key);
	}
}
Object.assign(target, source);
ready

Revisions

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