source: other-projects/playing-in-the-street/summer-2013/trunk/Playing-in-the-Street-WPF/Content/Web/mrdoob-three.js-4862f5f/test/perf.html@ 28897

Last change on this file since 28897 was 28897, checked in by davidb, 10 years ago

GUI front-end to server base plus web page content

File size: 2.5 KB
Line 
1<!DOCTYPE html>
2<html lang="en">
3 <body>
4
5 <script src="../build/three.min.js"></script>
6 <script src="../examples/js/math/TypeArrayVector3.js"></script>
7
8 <script>
9
10 var Benchmark = function ( title, test ) {
11
12 var titleDom = document.createElement( 'div' );
13 titleDom.style.fontWeight = 'bold';
14 titleDom.textContent = title;
15 document.body.appendChild( titleDom );
16
17 var msDom = document.createElement( 'div' );
18 document.body.appendChild( msDom );
19
20 this.run = function () {
21
22 var start = performance.now();
23
24 test();
25
26 msDom.textContent = performance.now() - start;
27
28 }
29
30 };
31
32
33 var vector11 = new THREE.Vector3( 1.2, 2.3, 3.4 );
34 var vector12 = new THREE.Vector3( 1.2, 2.3, 3.4 );
35 var vector13 = new THREE.Vector3( 1.2, 2.3, 3.4 );
36
37 var vector21 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
38 var vector22 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
39 var vector23 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
40
41 var benchmarks = [
42
43 new Benchmark( 'new Vector3()', function () {
44
45 for ( var i = 0; i < 10000; i ++ ) {
46
47 var vector = new THREE.Vector3( 1, 1, 1 );
48
49 }
50
51 } ),
52
53 new Benchmark( 'new TypeArrayVector3()', function () {
54
55 for ( var i = 0; i < 10000; i ++ ) {
56
57 var vector = new THREE.TypeArrayVector3( 1, 1, 1 );
58
59 }
60
61 } ),
62
63 new Benchmark( 'Vector3 add()', function () {
64
65 for ( var i = 0; i < 10000000; i ++ ) {
66
67 vector11.add( vector12 );
68
69 }
70
71 } ),
72
73 new Benchmark( 'TypeArrayVector3 add()', function () {
74
75 for ( var i = 0; i < 10000000; i ++ ) {
76
77 vector21.add( vector22 );
78
79 }
80
81 } ),
82
83 new Benchmark( 'Vector3 addVectors()', function () {
84
85 for ( var i = 0; i < 10000000; i ++ ) {
86
87 vector11.addVectors( vector12, vector13 );
88
89 }
90
91 } ),
92
93 new Benchmark( 'TypeArrayVector3 addVectors()', function () {
94
95 for ( var i = 0; i < 10000000; i ++ ) {
96
97 vector21.addVectors( vector22, vector23 );
98
99 }
100
101 } )
102
103 ];
104
105 function update () {
106
107 vector11 = new THREE.Vector3( Math.random(), Math.random(), Math.random() );
108 vector12 = new THREE.Vector3( Math.random(), Math.random(), Math.random() );
109
110 vector21 = new THREE.TypeArrayVector3().set( vector11.x, vector11.y, vector11.z );
111 vector22 = new THREE.TypeArrayVector3().set( vector12.x, vector12.y, vector12.z );
112
113 for ( var i = 0, l = benchmarks.length; i < l; i ++ ) {
114
115 benchmarks[ i ].run();
116
117 }
118
119 setTimeout( update, 2000 );
120
121 }
122
123 update();
124
125 </script>
126
127 </body>
128</html>
Note: See TracBrowser for help on using the repository browser.