Script Preparation code:
x
 
var map2 = new Map();
map2.set('cat', 'Kitten');
map2.set('cattle', 'Calf');
map2.set('cheetah', 'Cub');
map2.set('dog', 'Pup');
var babyAnimal2 = {
    cat: 'Kitten',
    cattle: 'Calf',
    cheetah: 'Cub',
    dog: 'Pup'
}
Tests:
  • Switch

     
    var animal = ["dog", "cat", "cattle", "cheetah"][Math.floor(Math.random() * 4)]
    function test(animal) {
      switch(animal){
       case 'cat': return 'Kitten'
       case 'cattle': return 'Calf'
       case 'cheetah': return 'Cub'
       case 'dog': return 'Pup'
       default: return "I don't know that"
      }
    }
    console.log(test(animal))
  • Object Literal

     
    var animal = ["dog", "cat", "cattle", "cheetah"][Math.floor(Math.random() * 4)]
    function test(animal) {
      var babyAnimal = {
       cat:'Kitten',
       cattle:'Calf',
       cheetah:'Cub',
       dog:'Pup'
      }
      return babyAnimal[animal] ?? "I don't know that"
    }
    console.log(test(animal))
  • If Else

     
    var animal = ["dog", "cat", "cattle", "cheetah"][Math.floor(Math.random() * 4)]
    function test(animal) {
      if(animal==='cat'){
        return 'Kitten'
    } else if(animal=='cattle'){
         return 'Calf'
    } else if(animal==='cheetah'){
         return 'Cub';
    } else if(animal==='dog'){
         return 'Pup';
    }
       return "I don't know that"
    }
    console.log(test(animal))
  • Object Literal defined outside function

     
    var animal = ["dog", "cat", "cattle", "cheetah"][Math.floor(Math.random() * 4)]
    function test(animal) {
    return babyAnimal2[animal] ?? "I don't know that"
    }
    console.log(test(animal))
  • Map

     
    var animal = ["dog", "cat", "cattle", "cheetah"][Math.floor(Math.random() * 4)]
    function test(animal) {
      const map1 = new Map();
      map1.set('cat', 'Kitten');
      map1.set('cattle', 'Calf');
      map1.set('cheetah', 'Cub');
      map1.set('dog', 'Pup');
      return map1.get(animal) || "I don't know that"
    }
    console.log(test(animal))
  • Map - defined outsid function

     
    var animal = ["dog", "cat", "cattle", "cheetah"][Math.floor(Math.random() * 4)]
    function test(animal) {
      return map2.get(animal) || "I don't know that"
    }
    console.log(test(animal))
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Switch
    Object Literal
    If Else
    Object Literal defined outside function
    Map
    Map - defined outsid function

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
Chrome 105 on Windows
View result in a separate tab
Test name Executions per second
Switch 61848.5 Ops/sec
Object Literal 57390.3 Ops/sec
If Else 55407.1 Ops/sec
Object Literal defined outside function 59543.3 Ops/sec
Map 55664.2 Ops/sec
Map - defined outsid function 62178.4 Ops/sec