|
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 } |