if/else vs arrays vs switch vs ternary (v28)

Revision 28 of this benchmark created on


Description

checks performance of the many types of case iterators in javascript.

Preparation HTML

<script>
function Switch( x ) {
        switch ( x ) {
                case 1: return 10; break;
                case 20: return 18448; break;
                case 300: return 188888; break;
                case 4000: return 166; break;
                case 50000: return 1516; break;
                case 600000: return 11105; break;
                case 7000000: return 1215; break; 
                case 80000000: return 1116; break;
        }       
}
var testArray = [];

testArray[1] = 10;
testArray[20] = 18448;
testArray[300] = 188888;
testArray[4000] = 166;
testArray[50000] = 1516;
testArray[600000] = 11105;
testArray[7000000] = 1215;
testArray[80000000] = 1116;

function arrays(x){  
        return testArray[x];
}

</script>

Setup

function Switch( x ) {
            switch ( x ) {
                    case 1: return 10; break;
                    case 20: return 18448; break;
                    case 300: return 188888; break;
                    case 4000: return 166; break;
                    case 50000: return 1516; break;
                    case 600000: return 11105; break;
                    case 7000000: return 1215; break; 
                    case 80000000: return 1116; break;
            }       
    }
    
    var testArray = [];
    
    testArray[1] = 10;
    testArray[20] = 18448;
    testArray[300] = 188888;
    testArray[4000] = 166;
    testArray[50000] = 1516;
    testArray[600000] = 11105;
    testArray[7000000] = 1215;
    testArray[80000000] = 1116;
    
    function arrays(x){  
            return testArray[x];
    }

Test runner

Ready to run.

Testing in
TestOps/sec
switch
Switch(7000000);
ready
indexed arrays
arrays(7000000);
ready

Revisions

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