Run details:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1
Mobile Safari 18
iOS 18.2
Mobile
4 months ago
Test name Executions per second
If else statement 289272800.0 Ops/sec
Switch statement 280381824.0 Ops/sec
Script Preparation code:
x
 
function returnName(name) {
            if (name === '1Y') {
                return 'oneYearRor';
            }
            if (name === '3Y') {
                return 'threeYearRor';
            }
            if (name === '5Y') {
                return 'fiveYearRor';
            }
            if (name === '10Y') {
                return 'tenYearRor';
            }
            if (name === 'SI') {
                return 'sinceInceptionRor';
            }
            if (name === 'YTD') {
                return null;
            }
};
function switchStatement(name) {
    switch(name) {
      case '1Y': return 'oneYearRor';
      case '3Y': return 'threeYearRor';
      case '5Y': return 'fiveYearRor';
      case '10Y': return 'tenYearRor';
      case 'SI': return 'sinceInceptionRor';
      default: return null;
    }
}
Tests:
  • If else statement

     
    returnName('1Y')
    returnName('3Y')
    returnName('5Y')
    returnName('10Y')
    returnName('SI')
    returnName('YTD')
  • Switch statement

     
    switchStatement('1Y')
    switchStatement('3Y')
    switchStatement('5Y')
    switchStatement('10Y')
    switchStatement('SI')
    switchStatement('YTD')