500 cases

Benchmark created on


Setup

let cases = new Array(500).map((_, i) => `case${i}`);

const data = cases.map((key) => ({ key, a: 2, b: 3 }));
function add({ a, b }) {
  return a + b;
}

const mapStructure = new Map(
  [
    cases.map(val => ([val, add]))
  ]
);

const objMap = Object.fromEntries(mapStructure);

function swCase(input) {
  switch (input.key) {
    case "case0":
      add(input);
      break;
    case "case1":
      add(input);
      break;
    case "case2":
      add(input);
      break;
    case "case3":
      add(input);
      break;
    case "case4":
      add(input);
      break;
    case "case5":
      add(input);
      break;
    case "case6":
      add(input);
      break;
    case "case7":
      add(input);
      break;
    case "case8":
      add(input);
      break;
    case "case9":
      add(input);
      break;
    case "case10":
      add(input);
      break;
    case "case11":
      add(input);
      break;
    case "case12":
      add(input);
      break;
    case "case13":
      add(input);
      break;
    case "case14":
      add(input);
      break;
    case "case15":
      add(input);
      break;
    case "case16":
      add(input);
      break;
    case "case17":
      add(input);
      break;
    case "case18":
      add(input);
      break;
    case "case19":
      add(input);
      break;
    case "case20":
      add(input);
      break;
    case "case21":
      add(input);
      break;
    case "case22":
      add(input);
      break;
    case "case23":
      add(input);
      break;
    case "case24":
      add(input);
      break;
    case "case25":
      add(input);
      break;
    case "case26":
      add(input);
      break;
    case "case27":
      add(input);
      break;
    case "case28":
      add(input);
      break;
    case "case29":
      add(input);
      break;
    case "case30":
      add(input);
      break;
    case "case31":
      add(input);
      break;
    case "case32":
      add(input);
      break;
    case "case33":
      add(input);
      break;
    case "case34":
      add(input);
      break;
    case "case35":
      add(input);
      break;
    case "case36":
      add(input);
      break;
    case "case37":
      add(input);
      break;
    case "case38":
      add(input);
      break;
    case "case39":
      add(input);
      break;
    case "case40":
      add(input);
      break;
    case "case41":
      add(input);
      break;
    case "case42":
      add(input);
      break;
    case "case43":
      add(input);
      break;
    case "case44":
      add(input);
      break;
    case "case45":
      add(input);
      break;
    case "case46":
      add(input);
      break;
    case "case47":
      add(input);
      break;
    case "case48":
      add(input);
      break;
    case "case49":
      add(input);
      break;
    case "case50":
      add(input);
      break;
    case "case51":
      add(input);
      break;
    case "case52":
      add(input);
      break;
    case "case53":
      add(input);
      break;
    case "case54":
      add(input);
      break;
    case "case55":
      add(input);
      break;
    case "case56":
      add(input);
      break;
    case "case57":
      add(input);
      break;
    case "case58":
      add(input);
      break;
    case "case59":
      add(input);
      break;
    case "case60":
      add(input);
      break;
    case "case61":
      add(input);
      break;
    case "case62":
      add(input);
      break;
    case "case63":
      add(input);
      break;
    case "case64":
      add(input);
      break;
    case "case65":
      add(input);
      break;
    case "case66":
      add(input);
      break;
    case "case67":
      add(input);
      break;
    case "case68":
      add(input);
      break;
    case "case69":
      add(input);
      break;
    case "case70":
      add(input);
      break;
    case "case71":
      add(input);
      break;
    case "case72":
      add(input);
      break;
    case "case73":
      add(input);
      break;
    case "case74":
      add(input);
      break;
    case "case75":
      add(input);
      break;
    case "case76":
      add(input);
      break;
    case "case77":
      add(input);
      break;
    case "case78":
      add(input);
      break;
    case "case79":
      add(input);
      break;
    case "case80":
      add(input);
      break;
    case "case81":
      add(input);
      break;
    case "case82":
      add(input);
      break;
    case "case83":
      add(input);
      break;
    case "case84":
      add(input);
      break;
    case "case85":
      add(input);
      break;
    case "case86":
      add(input);
      break;
    case "case87":
      add(input);
      break;
    case "case88":
      add(input);
      break;
    case "case89":
      add(input);
      break;
    case "case90":
      add(input);
      break;
    case "case91":
      add(input);
      break;
    case "case92":
      add(input);
      break;
    case "case93":
      add(input);
      break;
    case "case94":
      add(input);
      break;
    case "case95":
      add(input);
      break;
    case "case96":
      add(input);
      break;
    case "case97":
      add(input);
      break;
    case "case98":
      add(input);
      break;
    case "case99":
      add(input);
      break;
    case "case100":
      add(input);
      break;
    case "case101":
      add(input);
      break;
    case "case102":
      add(input);
      break;
    case "case103":
      add(input);
      break;
    case "case104":
      add(input);
      break;
    case "case105":
      add(input);
      break;
    case "case106":
      add(input);
      break;
    case "case107":
      add(input);
      break;
    case "case108":
      add(input);
      break;
    case "case109":
      add(input);
      break;
    case "case110":
      add(input);
      break;
    case "case111":
      add(input);
      break;
    case "case112":
      add(input);
      break;
    case "case113":
      add(input);
      break;
    case "case114":
      add(input);
      break;
    case "case115":
      add(input);
      break;
    case "case116":
      add(input);
      break;
    case "case117":
      add(input);
      break;
    case "case118":
      add(input);
      break;
    case "case119":
      add(input);
      break;
    case "case120":
      add(input);
      break;
    case "case121":
      add(input);
      break;
    case "case122":
      add(input);
      break;
    case "case123":
      add(input);
      break;
    case "case124":
      add(input);
      break;
    case "case125":
      add(input);
      break;
    case "case126":
      add(input);
      break;
    case "case127":
      add(input);
      break;
    case "case128":
      add(input);
      break;
    case "case129":
      add(input);
      break;
    case "case130":
      add(input);
      break;
    case "case131":
      add(input);
      break;
    case "case132":
      add(input);
      break;
    case "case133":
      add(input);
      break;
    case "case134":
      add(input);
      break;
    case "case135":
      add(input);
      break;
    case "case136":
      add(input);
      break;
    case "case137":
      add(input);
      break;
    case "case138":
      add(input);
      break;
    case "case139":
      add(input);
      break;
    case "case140":
      add(input);
      break;
    case "case141":
      add(input);
      break;
    case "case142":
      add(input);
      break;
    case "case143":
      add(input);
      break;
    case "case144":
      add(input);
      break;
    case "case145":
      add(input);
      break;
    case "case146":
      add(input);
      break;
    case "case147":
      add(input);
      break;
    case "case148":
      add(input);
      break;
    case "case149":
      add(input);
      break;
    case "case150":
      add(input);
      break;
    case "case151":
      add(input);
      break;
    case "case152":
      add(input);
      break;
    case "case153":
      add(input);
      break;
    case "case154":
      add(input);
      break;
    case "case155":
      add(input);
      break;
    case "case156":
      add(input);
      break;
    case "case157":
      add(input);
      break;
    case "case158":
      add(input);
      break;
    case "case159":
      add(input);
      break;
    case "case160":
      add(input);
      break;
    case "case161":
      add(input);
      break;
    case "case162":
      add(input);
      break;
    case "case163":
      add(input);
      break;
    case "case164":
      add(input);
      break;
    case "case165":
      add(input);
      break;
    case "case166":
      add(input);
      break;
    case "case167":
      add(input);
      break;
    case "case168":
      add(input);
      break;
    case "case169":
      add(input);
      break;
    case "case170":
      add(input);
      break;
    case "case171":
      add(input);
      break;
    case "case172":
      add(input);
      break;
    case "case173":
      add(input);
      break;
    case "case174":
      add(input);
      break;
    case "case175":
      add(input);
      break;
    case "case176":
      add(input);
      break;
    case "case177":
      add(input);
      break;
    case "case178":
      add(input);
      break;
    case "case179":
      add(input);
      break;
    case "case180":
      add(input);
      break;
    case "case181":
      add(input);
      break;
    case "case182":
      add(input);
      break;
    case "case183":
      add(input);
      break;
    case "case184":
      add(input);
      break;
    case "case185":
      add(input);
      break;
    case "case186":
      add(input);
      break;
    case "case187":
      add(input);
      break;
    case "case188":
      add(input);
      break;
    case "case189":
      add(input);
      break;
    case "case190":
      add(input);
      break;
    case "case191":
      add(input);
      break;
    case "case192":
      add(input);
      break;
    case "case193":
      add(input);
      break;
    case "case194":
      add(input);
      break;
    case "case195":
      add(input);
      break;
    case "case196":
      add(input);
      break;
    case "case197":
      add(input);
      break;
    case "case198":
      add(input);
      break;
    case "case199":
      add(input);
      break;
    case "case200":
      add(input);
      break;
    case "case201":
      add(input);
      break;
    case "case202":
      add(input);
      break;
    case "case203":
      add(input);
      break;
    case "case204":
      add(input);
      break;
    case "case205":
      add(input);
      break;
    case "case206":
      add(input);
      break;
    case "case207":
      add(input);
      break;
    case "case208":
      add(input);
      break;
    case "case209":
      add(input);
      break;
    case "case210":
      add(input);
      break;
    case "case211":
      add(input);
      break;
    case "case212":
      add(input);
      break;
    case "case213":
      add(input);
      break;
    case "case214":
      add(input);
      break;
    case "case215":
      add(input);
      break;
    case "case216":
      add(input);
      break;
    case "case217":
      add(input);
      break;
    case "case218":
      add(input);
      break;
    case "case219":
      add(input);
      break;
    case "case220":
      add(input);
      break;
    case "case221":
      add(input);
      break;
    case "case222":
      add(input);
      break;
    case "case223":
      add(input);
      break;
    case "case224":
      add(input);
      break;
    case "case225":
      add(input);
      break;
    case "case226":
      add(input);
      break;
    case "case227":
      add(input);
      break;
    case "case228":
      add(input);
      break;
    case "case229":
      add(input);
      break;
    case "case230":
      add(input);
      break;
    case "case231":
      add(input);
      break;
    case "case232":
      add(input);
      break;
    case "case233":
      add(input);
      break;
    case "case234":
      add(input);
      break;
    case "case235":
      add(input);
      break;
    case "case236":
      add(input);
      break;
    case "case237":
      add(input);
      break;
    case "case238":
      add(input);
      break;
    case "case239":
      add(input);
      break;
    case "case240":
      add(input);
      break;
    case "case241":
      add(input);
      break;
    case "case242":
      add(input);
      break;
    case "case243":
      add(input);
      break;
    case "case244":
      add(input);
      break;
    case "case245":
      add(input);
      break;
    case "case246":
      add(input);
      break;
    case "case247":
      add(input);
      break;
    case "case248":
      add(input);
      break;
    case "case249":
      add(input);
      break;
    case "case250":
      add(input);
      break;
    case "case251":
      add(input);
      break;
    case "case252":
      add(input);
      break;
    case "case253":
      add(input);
      break;
    case "case254":
      add(input);
      break;
    case "case255":
      add(input);
      break;
    case "case256":
      add(input);
      break;
    case "case257":
      add(input);
      break;
    case "case258":
      add(input);
      break;
    case "case259":
      add(input);
      break;
    case "case260":
      add(input);
      break;
    case "case261":
      add(input);
      break;
    case "case262":
      add(input);
      break;
    case "case263":
      add(input);
      break;
    case "case264":
      add(input);
      break;
    case "case265":
      add(input);
      break;
    case "case266":
      add(input);
      break;
    case "case267":
      add(input);
      break;
    case "case268":
      add(input);
      break;
    case "case269":
      add(input);
      break;
    case "case270":
      add(input);
      break;
    case "case271":
      add(input);
      break;
    case "case272":
      add(input);
      break;
    case "case273":
      add(input);
      break;
    case "case274":
      add(input);
      break;
    case "case275":
      add(input);
      break;
    case "case276":
      add(input);
      break;
    case "case277":
      add(input);
      break;
    case "case278":
      add(input);
      break;
    case "case279":
      add(input);
      break;
    case "case280":
      add(input);
      break;
    case "case281":
      add(input);
      break;
    case "case282":
      add(input);
      break;
    case "case283":
      add(input);
      break;
    case "case284":
      add(input);
      break;
    case "case285":
      add(input);
      break;
    case "case286":
      add(input);
      break;
    case "case287":
      add(input);
      break;
    case "case288":
      add(input);
      break;
    case "case289":
      add(input);
      break;
    case "case290":
      add(input);
      break;
    case "case291":
      add(input);
      break;
    case "case292":
      add(input);
      break;
    case "case293":
      add(input);
      break;
    case "case294":
      add(input);
      break;
    case "case295":
      add(input);
      break;
    case "case296":
      add(input);
      break;
    case "case297":
      add(input);
      break;
    case "case298":
      add(input);
      break;
    case "case299":
      add(input);
      break;
    case "case300":
      add(input);
      break;
    case "case301":
      add(input);
      break;
    case "case302":
      add(input);
      break;
    case "case303":
      add(input);
      break;
    case "case304":
      add(input);
      break;
    case "case305":
      add(input);
      break;
    case "case306":
      add(input);
      break;
    case "case307":
      add(input);
      break;
    case "case308":
      add(input);
      break;
    case "case309":
      add(input);
      break;
    case "case310":
      add(input);
      break;
    case "case311":
      add(input);
      break;
    case "case312":
      add(input);
      break;
    case "case313":
      add(input);
      break;
    case "case314":
      add(input);
      break;
    case "case315":
      add(input);
      break;
    case "case316":
      add(input);
      break;
    case "case317":
      add(input);
      break;
    case "case318":
      add(input);
      break;
    case "case319":
      add(input);
      break;
    case "case320":
      add(input);
      break;
    case "case321":
      add(input);
      break;
    case "case322":
      add(input);
      break;
    case "case323":
      add(input);
      break;
    case "case324":
      add(input);
      break;
    case "case325":
      add(input);
      break;
    case "case326":
      add(input);
      break;
    case "case327":
      add(input);
      break;
    case "case328":
      add(input);
      break;
    case "case329":
      add(input);
      break;
    case "case330":
      add(input);
      break;
    case "case331":
      add(input);
      break;
    case "case332":
      add(input);
      break;
    case "case333":
      add(input);
      break;
    case "case334":
      add(input);
      break;
    case "case335":
      add(input);
      break;
    case "case336":
      add(input);
      break;
    case "case337":
      add(input);
      break;
    case "case338":
      add(input);
      break;
    case "case339":
      add(input);
      break;
    case "case340":
      add(input);
      break;
    case "case341":
      add(input);
      break;
    case "case342":
      add(input);
      break;
    case "case343":
      add(input);
      break;
    case "case344":
      add(input);
      break;
    case "case345":
      add(input);
      break;
    case "case346":
      add(input);
      break;
    case "case347":
      add(input);
      break;
    case "case348":
      add(input);
      break;
    case "case349":
      add(input);
      break;
    case "case350":
      add(input);
      break;
    case "case351":
      add(input);
      break;
    case "case352":
      add(input);
      break;
    case "case353":
      add(input);
      break;
    case "case354":
      add(input);
      break;
    case "case355":
      add(input);
      break;
    case "case356":
      add(input);
      break;
    case "case357":
      add(input);
      break;
    case "case358":
      add(input);
      break;
    case "case359":
      add(input);
      break;
    case "case360":
      add(input);
      break;
    case "case361":
      add(input);
      break;
    case "case362":
      add(input);
      break;
    case "case363":
      add(input);
      break;
    case "case364":
      add(input);
      break;
    case "case365":
      add(input);
      break;
    case "case366":
      add(input);
      break;
    case "case367":
      add(input);
      break;
    case "case368":
      add(input);
      break;
    case "case369":
      add(input);
      break;
    case "case370":
      add(input);
      break;
    case "case371":
      add(input);
      break;
    case "case372":
      add(input);
      break;
    case "case373":
      add(input);
      break;
    case "case374":
      add(input);
      break;
    case "case375":
      add(input);
      break;
    case "case376":
      add(input);
      break;
    case "case377":
      add(input);
      break;
    case "case378":
      add(input);
      break;
    case "case379":
      add(input);
      break;
    case "case380":
      add(input);
      break;
    case "case381":
      add(input);
      break;
    case "case382":
      add(input);
      break;
    case "case383":
      add(input);
      break;
    case "case384":
      add(input);
      break;
    case "case385":
      add(input);
      break;
    case "case386":
      add(input);
      break;
    case "case387":
      add(input);
      break;
    case "case388":
      add(input);
      break;
    case "case389":
      add(input);
      break;
    case "case390":
      add(input);
      break;
    case "case391":
      add(input);
      break;
    case "case392":
      add(input);
      break;
    case "case393":
      add(input);
      break;
    case "case394":
      add(input);
      break;
    case "case395":
      add(input);
      break;
    case "case396":
      add(input);
      break;
    case "case397":
      add(input);
      break;
    case "case398":
      add(input);
      break;
    case "case399":
      add(input);
      break;
    case "case400":
      add(input);
      break;
    case "case401":
      add(input);
      break;
    case "case402":
      add(input);
      break;
    case "case403":
      add(input);
      break;
    case "case404":
      add(input);
      break;
    case "case405":
      add(input);
      break;
    case "case406":
      add(input);
      break;
    case "case407":
      add(input);
      break;
    case "case408":
      add(input);
      break;
    case "case409":
      add(input);
      break;
    case "case410":
      add(input);
      break;
    case "case411":
      add(input);
      break;
    case "case412":
      add(input);
      break;
    case "case413":
      add(input);
      break;
    case "case414":
      add(input);
      break;
    case "case415":
      add(input);
      break;
    case "case416":
      add(input);
      break;
    case "case417":
      add(input);
      break;
    case "case418":
      add(input);
      break;
    case "case419":
      add(input);
      break;
    case "case420":
      add(input);
      break;
    case "case421":
      add(input);
      break;
    case "case422":
      add(input);
      break;
    case "case423":
      add(input);
      break;
    case "case424":
      add(input);
      break;
    case "case425":
      add(input);
      break;
    case "case426":
      add(input);
      break;
    case "case427":
      add(input);
      break;
    case "case428":
      add(input);
      break;
    case "case429":
      add(input);
      break;
    case "case430":
      add(input);
      break;
    case "case431":
      add(input);
      break;
    case "case432":
      add(input);
      break;
    case "case433":
      add(input);
      break;
    case "case434":
      add(input);
      break;
    case "case435":
      add(input);
      break;
    case "case436":
      add(input);
      break;
    case "case437":
      add(input);
      break;
    case "case438":
      add(input);
      break;
    case "case439":
      add(input);
      break;
    case "case440":
      add(input);
      break;
    case "case441":
      add(input);
      break;
    case "case442":
      add(input);
      break;
    case "case443":
      add(input);
      break;
    case "case444":
      add(input);
      break;
    case "case445":
      add(input);
      break;
    case "case446":
      add(input);
      break;
    case "case447":
      add(input);
      break;
    case "case448":
      add(input);
      break;
    case "case449":
      add(input);
      break;
    case "case450":
      add(input);
      break;
    case "case451":
      add(input);
      break;
    case "case452":
      add(input);
      break;
    case "case453":
      add(input);
      break;
    case "case454":
      add(input);
      break;
    case "case455":
      add(input);
      break;
    case "case456":
      add(input);
      break;
    case "case457":
      add(input);
      break;
    case "case458":
      add(input);
      break;
    case "case459":
      add(input);
      break;
    case "case460":
      add(input);
      break;
    case "case461":
      add(input);
      break;
    case "case462":
      add(input);
      break;
    case "case463":
      add(input);
      break;
    case "case464":
      add(input);
      break;
    case "case465":
      add(input);
      break;
    case "case466":
      add(input);
      break;
    case "case467":
      add(input);
      break;
    case "case468":
      add(input);
      break;
    case "case469":
      add(input);
      break;
    case "case470":
      add(input);
      break;
    case "case471":
      add(input);
      break;
    case "case472":
      add(input);
      break;
    case "case473":
      add(input);
      break;
    case "case474":
      add(input);
      break;
    case "case475":
      add(input);
      break;
    case "case476":
      add(input);
      break;
    case "case477":
      add(input);
      break;
    case "case478":
      add(input);
      break;
    case "case479":
      add(input);
      break;
    case "case480":
      add(input);
      break;
    case "case481":
      add(input);
      break;
    case "case482":
      add(input);
      break;
    case "case483":
      add(input);
      break;
    case "case484":
      add(input);
      break;
    case "case485":
      add(input);
      break;
    case "case486":
      add(input);
      break;
    case "case487":
      add(input);
      break;
    case "case488":
      add(input);
      break;
    case "case489":
      add(input);
      break;
    case "case490":
      add(input);
      break;
    case "case491":
      add(input);
      break;
    case "case492":
      add(input);
      break;
    case "case493":
      add(input);
      break;
    case "case494":
      add(input);
      break;
    case "case495":
      add(input);
      break;
    case "case496":
      add(input);
      break;
    case "case497":
      add(input);
      break;
    case "case498":
      add(input);
      break;
    case "case499":
      add(input);
      break;
  }
}

Test runner

Ready to run.

Testing in
TestOps/sec
switchCase
data.map(entry => swCase(entry))
ready
objectMap
data.map(entry => objMap(entry))
ready
Map
data.map(entry => mapStructure.get(entry.key)(entry))
ready

Revisions

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