Skip to content

Instantly share code, notes, and snippets.

@d3x0r
Last active December 2, 2019 11:06
Show Gist options
  • Save d3x0r/8c0ce01e9f92c63570480b3e9829a85d to your computer and use it in GitHub Desktop.
Save d3x0r/8c0ce01e9f92c63570480b3e9829a85d to your computer and use it in GitHub Desktop.
Object key lookup test
var o = {};
for( var a = 0; a < 100; a++ ) {
o['a'+a] = a;
}
var n;
var tickNow;
var tickDone;
tickNow = Date.now();
var a = 0;
for( n = 0; n < 100000; n++ ) {
o[a+(n%100)];
}
tickDone = Date.now();
console.log( "some:", tickDone - tickNow, n / ( tickDone - tickNow ) );
for( ; a < 1000; a++ ) {
o['a'+a] = a;
}
tickNow = Date.now();
for( n = 0; n < 100000; n++ ) {
a += o[a+(n%1000)];
}
tickDone = Date.now();
console.log( "some:", tickDone - tickNow, n / ( tickDone - tickNow ) );
for( ; a < 10000; a++ ) {
o['a'+a] = a;
}
tickNow = Date.now();
for( n = 0; n < 100000; n++ ) {
a += o[a+(n%10000)];
}
tickDone = Date.now();
console.log( "some:", tickDone - tickNow, n / ( tickDone - tickNow ) );
for( ; a < 100000; a++ ) {
o['a'+a] = a;
}
tickNow = Date.now();
for( n = 0; n < 100000; n++ ) {
a += o[a+(n%100000)];
}
tickDone = Date.now();
console.log( "some:", tickDone - tickNow, n / ( tickDone - tickNow ) );
for( ; a < 100000; a++ ) {
o['a'+a] = a;
}
tickNow = Date.now();
for( n = 0; n < 100000; n++ ) {
a += o[a+(n%100000)];
}
tickDone = Date.now();
console.log( "some:", tickDone - tickNow, n / ( tickDone - tickNow ) );
for( ; a < 1000000; a++ ) {
o['a'+a] = a;
}
tickNow = Date.now();
for( n = 0; n < 100000; n++ ) {
a += o[a+(n%100000)];
}
tickDone = Date.now();
console.log( "some:", tickDone - tickNow, n / ( tickDone - tickNow ) );
for( ; a < 10000000; a++ ) {
o['a'+a] = a;
}
tickNow = Date.now();
for( n = 0; n < 100000; n++ ) {
a += o[a+(n%100000)];
}
tickDone = Date.now();
console.log( "some:", tickDone - tickNow, n / ( tickDone - tickNow ) );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment