map to array

Benchmark created on


Setup

let smallMap = new Map();
let largeMap = new Map();

for (let i = 0; i < 50; i++) {
	smallMap.set(`${i}`, i);
}

for (let i = 0; i < 50000; i++) {
	largeMap.set(`${i}`, i);
}

Test runner

Ready to run.

Testing in
TestOps/sec
smallMap: spread
let array = [... smallMap];
ready
smallMap: Array.from
let array = Array.from(smallMap);
ready
smallMap: preallocated (new Array)
let array = new Array(smallMap.size);

let i = 0;
for (let entry of smallMap) {
	array[i] = entry;
}
ready
smallMap: preallocated (Array.from)
let array = Array.from({ length: smallMap.size });

let i = 0;
for (let entry of smallMap) {
	array[i] = entry;
}
ready
largeMap: spread
let array = [... largeMap];
ready
largeMap: Array.from
let array = Array.from(largeMap);
ready
largeMap: preallocated (new Array)
let array = new Array(largeMap.size);

let i = 0;
for (let entry of largeMap) {
	array[i] = entry;
}
ready
largeMap: preallocated (Array.from)
let array = Array.from({ length: largeMap.size });

let i = 0;
for (let entry of largeMap) {
	array[i] = entry;
}
ready

Revisions

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