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

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:7b459dadc3b3
1 //Benchmark to measure overhead of dslots allocation and deallocation
2
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; };
9
10 function test() {
11 var N = 1e5;
12 gc();
13
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 }
23
24 for(var i = 0; i<=5; i++) {
25 test();
26 }

mercurial