js/src/devtools/gc/tests/dslots.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 //Benchmark to measure overhead of dslots allocation and deallocation
     3 function Object0() {};
     4 function Object1() { this.a=1; };
     5 function Object2() { this.a=1; this.b=1; };
     6 function Object3() { this.a=1; this.b=1; this.c=1; };
     7 function Object4() { this.a=1; this.b=1; this.c=1; this.d=1; };
     8 function Object5() { this.a=1; this.b=1; this.c=1; this.d=1; this.e=1; };
    10 function test() {
    11     var N = 1e5;
    12     gc();
    14     for(var i = 0; i<=5; i++)
    15     {
    16         var tmp = i==0 ? Object0 : i==1 ? Object1 : i==2 ? Object2 : i==3 ? Object3 : i==4 ? Object4 : Object5;
    17         for (var j = 0; j != N; j++) {
    18             var a = new tmp();
    19         }
    20         gc();
    21     }
    22 }
    24 for(var i = 0; i<=5; i++) {
    25     test();
    26 }

mercurial