Script Preparation code:
x
 
var switch_func = term => {
  switch (term) {
    case 'one':
      return 1;
    case 'two':
      return 2;
    case 'three':
      return 3;
    case 'four':
      return 4;
    case 'five':
      return 5;
    case 'six':
      return 6;
    case 'seven':
      return 7;
    case 'eight':
      return 8;
    case 'nine':
      return 9;
    case 'ten':
      return 10;
    case 'eleven':
      return 11;
    case 'twelve':
      return 12;
    case 'thirteen':
      return 13;
    case 'fourteen':
      return 14;
    case 'fifteen':
      return 15;
    case 'sixteen':
      return 16;
    case 'seventeen':
      return 17;
    case 'eighteen':
      return 18;
    case 'nineteen':
      return 19;
    case 'twenty':
      return 20;
  }
};
var ifelse_func = term => {
  if (term === 'one') {
    return 1;
  } else if (term === 'two') {
    return 2;
  } else if (term === 'three') {
    return 3;
  } else if (term === 'four') {
    return 4;
  } else if (term === 'five') {
    return 5;
  } else if (term === 'six') {
    return 6;
  } else if (term === 'seven') {
    return 7;
  } else if (term === 'eight') {
    return 8;
  } else if (term === 'nine') {
    return 9;
  } else if (term === 'ten') {
    return 10;
  } else if (term === 'eleven') {
    return 11;
  } else if (term === 'twelve') {
    return 12;
  } else if (term === 'thirteen') {
    return 13;
  } else if (term === 'fourteen') {
    return 14;
  } else if (term === 'fifteen') {
    return 15;
  } else if (term === 'sixteen') {
    return 16;
  } else if (term === 'seventeen') {
    return 17;
  } else if (term === 'eighteen') {
    return 18;
  } else if (term === 'nineteen') {
    return 19;
  } else if (term === 'twenty') {
    return 20;
  }
};
var lookup_func = term => {
  var lookup = {
    one: 1,
    two: 2,
    three: 3,
    four: 4,
    five: 5,
    six: 6,
    seven: 7,
    eight: 8,
    nine: 9,
    ten: 10,
    eleven: 11,
    twelve: 12,
    thirteen: 13,
    fourteen: 14,
    fifteen: 15,
    sixteen: 16,
    seventeen: 17,
    eighteen: 18,
    nineteen: 19,
    twenty: 20,
  };
  return lookup[term];
};
var cached_lookup = {
  one: 1,
  two: 2,
  three: 3,
  four: 4,
  five: 5,
  six: 6,
  seven: 7,
  eight: 8,
  nine: 9,
  ten: 10,
  eleven: 11,
  twelve: 12,
  thirteen: 13,
  fourteen: 14,
  fifteen: 15,
  sixteen: 16,
  seventeen: 17,
  eighteen: 18,
  nineteen: 19,
  twenty: 20,
};
var cached_lookup_func = term => cached_lookup[term];
Tests:
  • switch

     
    switch_func('one');
    switch_func('seven');
    switch_func('twelve');
    switch_func('ten');
    switch_func('nineteen');
    switch_func('three');
    switch_func('thirteen');
    switch_func('eight');
    switch_func('seventeen');
    switch_func('two');
    switch_func('five');
    switch_func('eighteen');
    switch_func('twenty');
    switch_func('nine');
    switch_func('eleven');
    switch_func('fourteen');
    switch_func('six');
    switch_func('fifteen');
    switch_func('sixteen');
    switch_func('four');
  • if/else

     
    ifelse_func('one');
    ifelse_func('seven');
    ifelse_func('twelve');
    ifelse_func('ten');
    ifelse_func('nineteen');
    ifelse_func('three');
    ifelse_func('thirteen');
    ifelse_func('eight');
    ifelse_func('seventeen');
    ifelse_func('two');
    ifelse_func('five');
    ifelse_func('eighteen');
    ifelse_func('twenty');
    ifelse_func('nine');
    ifelse_func('eleven');
    ifelse_func('fourteen');
    ifelse_func('six');
    ifelse_func('fifteen');
    ifelse_func('sixteen');
    ifelse_func('four');
  • lookup

     
    lookup_func('one');
    lookup_func('seven');
    lookup_func('twelve');
    lookup_func('ten');
    lookup_func('nineteen');
    lookup_func('three');
    lookup_func('thirteen');
    lookup_func('eight');
    lookup_func('seventeen');
    lookup_func('two');
    lookup_func('five');
    lookup_func('eighteen');
    lookup_func('twenty');
    lookup_func('nine');
    lookup_func('eleven');
    lookup_func('fourteen');
    lookup_func('six');
    lookup_func('fifteen');
    lookup_func('sixteen');
    lookup_func('four');
  • pre-cached lookup

     
    cached_lookup_func('one');
    cached_lookup_func('seven');
    cached_lookup_func('twelve');
    cached_lookup_func('ten');
    cached_lookup_func('nineteen');
    cached_lookup_func('three');
    cached_lookup_func('thirteen');
    cached_lookup_func('eight');
    cached_lookup_func('seventeen');
    cached_lookup_func('two');
    cached_lookup_func('five');
    cached_lookup_func('eighteen');
    cached_lookup_func('twenty');
    cached_lookup_func('nine');
    cached_lookup_func('eleven');
    cached_lookup_func('fourteen');
    cached_lookup_func('six');
    cached_lookup_func('fifteen');
    cached_lookup_func('sixteen');
    cached_lookup_func('four');
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    switch
    if/else
    lookup
    pre-cached lookup

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 months ago)
Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Firefox 115 on Linux
View result in a separate tab
Test name Executions per second
switch 3708830.8 Ops/sec
if/else 3217957.2 Ops/sec
lookup 2005427.0 Ops/sec
pre-cached lookup 9104634.0 Ops/sec