Switch statement vs single if logic

JavaScript performance comparison

Revision 3 of this test case created by Erik Corry

Preparation code

<script>
function sizeToBytesSwitch(size, format) {
        switch (format) {
        case 'MB':
                return size * 1048576;
        case 'GB':
                return size * 1073741824;
        case 'TB':
                return size * 1099511627776;
        default:
                return size * 1024;
        }

}
function sizeToBytesObject(amount, format) {
    var sizes = {
        'MB': 1048576,
        'GB': 1073741824,
        'TB': 1099511627776
    }

    if(sizes[format]) {
        return amount * sizes[format];
    }

    return amount * 1024;
}
var sizes = {
    'MB': 1048576,
    'GB': 1073741824,
    'TB': 1099511627776
}

function sizeToBytesObjectOnce(amount, format) {
    if(sizes[format]) {
        return amount * sizes[format];
    }

    return amount * 1024;
}
function sizeToBytesVariables(size, format) {
        var KBYTES_IN_BYTES   = 1024,
            MEGABYTE_IN_BYTES = 1048576,
            GIGABYTE_IN_BYTES = 1073741824,
            TERABYTE_IN_BYTES = 1099511627776;

        switch (format) {
        case 'MB':
                return size * MEGABYTE_IN_BYTES;
        case 'GB':
                return size * GIGABYTE_IN_BYTES;
        case 'TB':
                return size * TERABYTE_IN_BYTES;
        default:
                return size * KBYTES_IN_BYTES;
        }

}

Preparation code output