Switch vs. hash vs. if else vs. access (v58)

Revision 58 of this benchmark created on


Preparation HTML

<script>
  var theVar = 'j';
  
  var cases = {};
  cases['a'] = function() {};
  cases['b'] = function() {};
  cases['c'] = function() {};
  cases['d'] = function() {};
  cases['e'] = function() {};
  cases['f'] = function() {};
  cases['g'] = function() {};
  cases['h'] = function() {};
  cases['i'] = function() {};
  cases['j'] = function() {};


function switchcase(theVar){

switch (theVar) {
case 'a':
 cases['a']();
 break;
case 'b':
 cases['b']();
 break;
case 'c':
 cases['c']();
 break;
case 'd':
 cases['d']();
 break;
case 'e':
 cases['e']();
 break;
case 'f':
 cases['f']();
 break;
case 'g':
 cases['g']();
 break;
case 'h':
 cases['h']();
 break;
case 'i':
 cases['i']();
 break;
case 'j':
 cases['j']();
 break;
default:
}

}


function Hash(theVar){

if (typeof cases[theVar] == 'function') {
 cases[theVar]();
} 

}




function ifelse(theVar){
if (theVar === 'a') {
 cases['a']()
} else if (theVar === 'b') {
 cases['b']()
} else if (theVar === 'c') {
 cases['c']()
} else if (theVar === 'd') {
 cases['d']()
} else if (theVar === 'e') {
 cases['e']()
} else if (theVar === 'f') {
 cases['f']()
} else if (theVar === 'g') {
 cases['g']()
} else if (theVar === 'h') {
 cases['h']()
} else if (theVar === 'i') {
 cases['i']()
} else if (theVar === 'j') {
 cases['j']()
} 

else {
}



}



function Access(theVar){
var cb = cases[theVar];
if (cb) {
  cb();
}
}

</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Switch
switchcase(theVar)
ready
Hash
Hash(theVar)
ready
If else
ifelse(theVar)
ready
Access
Access(theVar)
ready

Revisions

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