switch vs objects

JavaScript performance comparison

Test case created by Burp

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var state = 'countdown';
    var methods = {
      methodA: function(state) {
        this.state = state;
        return "methodA";
      },
      methodB: function(state) {
        return state;
      }
    };
   
    var switchObj = {
      'tickets': function(state) {},
      'countdown': function(state) {
        methods.methodA();
        methods.methodB();
      },
      'game': function(state) {
        methods.methodB();
      }
    };
};
</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 (state) {
  case 'countdown':
    methods.methodA();
  case 'game':
    methods.methodB();
    break;
}
pending…
object
switchObj[state];
pending…

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

Compare results of other browsers

0 comments

Add a comment