if vs case vs maths

JavaScript performance comparison

Revision 2 of this test case created

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var a,
        b = 1;
};

Benchmark.prototype.teardown = function() {
    a = undefined;
    b = 1;
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
switch
switch (b) {
    case 2:
        a = 2;
        break
    case 1:
        a = 1;
        break
    case 3:
        a = 3;
        break
}
pending…
if
if (b === 2) {
    a = 2;
}

if (b === 1) {
    a = 1;
}

if (b === 3) {
    a = 3;
}
pending…
value
a=b
pending…
math
a=b*1
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment