map lookup test speed (v4)

Revision 4 of this benchmark created on


Description

Tis

Setup

const strings = [];
const numbers = [];
const shortStrings = [];

const stringMap = {};
const sparseArray = [];
const numberMap = {};
const stringNumberMap = {};

for (let i = 0; i < 1000; i += 1) {
	let n = i * 65;
	strings.push(n + (' string nu').repeat(1))
	numbers.push(n);
	shortStrings.push(n + '');
	
	
	stringMap[strings[n]] = n;
	sparseArray[n] = n;
	numberMap[n] = n;
	stringNumberMap[n] = n;
	stringNumberMap[strings[n]] = n;
}
const notUsedEver = {};
for (let i = 0; i < 105000; i++) {
	let a = i + 5;
	
	notUsedEver[a] = i;
	notUsedEver[a + a] = i;
	notUsedEver[a + '' + a] = i;
}

Test runner

Ready to run.

Testing in
TestOps/sec
lookup string
var result = [];
for (let string of strings) {
	result.push(stringMap[string]);
}

return result;
ready
lookup arr
var result = [];
for (let number of numbers) {
	result.push(sparseArray[number]);
}

return result;
ready
lookup number map
var result = [];
for (let number of numbers) {
	result.push(numberMap[number]);
}

return result;
ready
string in String number map
var result = [];
for (let string of strings) {
	result.push(stringNumberMap[string]);
}

return result;
ready
number in String number map
var result = [];
for (let number of numbers) {
	result.push(stringNumberMap[number]);
}

return result;
ready
double
var result = [];
for (let string of strings) {
	result.push(stringMap[string]);
}

return result;
ready

Revisions

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