fib nomal vs asm.js

JavaScript performance comparison

Revision 10 of this test case created by

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var m = new Int32Array(1024);
  m[0] = 1;
  sp = 1;
  
  var fibTyped = function fib(x) {
      sp += 2;
      if (m[x] < 4) return 0;
      m[sp - 2] = m[x] - 2;
      m[sp - 1] = m[x] - 1
      var t = fib(sp - 2) + fib(sp - 1);
      sp -= 2;
      return t;
  }
  
  var fibNomal = function fib(x) {
    if (x < 3) return 1;
    return fib(x - 2) + fib(x - 1);
  };
  
  var fibAsmjs = (function () {

    'use asm';
    function fib(x) {
      x = x|0;
      if ((x|0) < 3) return 1;
      return ((fib((x - 2)|0)|0) + (fib((x - 1)|0)|0))|0;
    }
    return fib;
  })();

};
</script>

Test runner

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

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
fib nomal
fibNomal(20);
pending…
fib asm.js
fibAsmjs(20);
pending…
fib TypedArray
fibTyped(20);
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.

0 Comments