dslots.js (704B)
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 }