|
@@ -0,0 +1,128 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="en">
|
|
|
+ <body>
|
|
|
+
|
|
|
+ <script src="../build/three.min.js"></script>
|
|
|
+ <script src="../examples/js/math/TypeArrayVector3.js"></script>
|
|
|
+
|
|
|
+ <script>
|
|
|
+
|
|
|
+ var Benchmark = function ( title, test ) {
|
|
|
+
|
|
|
+ var titleDom = document.createElement( 'div' );
|
|
|
+ titleDom.style.fontWeight = 'bold';
|
|
|
+ titleDom.textContent = title;
|
|
|
+ document.body.appendChild( titleDom );
|
|
|
+
|
|
|
+ var msDom = document.createElement( 'div' );
|
|
|
+ document.body.appendChild( msDom );
|
|
|
+
|
|
|
+ this.run = function () {
|
|
|
+
|
|
|
+ var start = performance.now();
|
|
|
+
|
|
|
+ test();
|
|
|
+
|
|
|
+ msDom.textContent = performance.now() - start;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ var vector11 = new THREE.Vector3( 1.2, 2.3, 3.4 );
|
|
|
+ var vector12 = new THREE.Vector3( 1.2, 2.3, 3.4 );
|
|
|
+ var vector13 = new THREE.Vector3( 1.2, 2.3, 3.4 );
|
|
|
+
|
|
|
+ var vector21 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
|
|
|
+ var vector22 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
|
|
|
+ var vector23 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
|
|
|
+
|
|
|
+ var benchmarks = [
|
|
|
+
|
|
|
+ new Benchmark( 'new Vector3()', function () {
|
|
|
+
|
|
|
+ for ( var i = 0; i < 10000; i ++ ) {
|
|
|
+
|
|
|
+ var vector = new THREE.Vector3( 1, 1, 1 );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } ),
|
|
|
+
|
|
|
+ new Benchmark( 'new TypeArrayVector3()', function () {
|
|
|
+
|
|
|
+ for ( var i = 0; i < 10000; i ++ ) {
|
|
|
+
|
|
|
+ var vector = new THREE.TypeArrayVector3( 1, 1, 1 );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } ),
|
|
|
+
|
|
|
+ new Benchmark( 'Vector3 add()', function () {
|
|
|
+
|
|
|
+ for ( var i = 0; i < 10000000; i ++ ) {
|
|
|
+
|
|
|
+ vector11.add( vector12 );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } ),
|
|
|
+
|
|
|
+ new Benchmark( 'TypeArrayVector3 add()', function () {
|
|
|
+
|
|
|
+ for ( var i = 0; i < 10000000; i ++ ) {
|
|
|
+
|
|
|
+ vector21.add( vector22 );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } ),
|
|
|
+
|
|
|
+ new Benchmark( 'Vector3 addVectors()', function () {
|
|
|
+
|
|
|
+ for ( var i = 0; i < 10000000; i ++ ) {
|
|
|
+
|
|
|
+ vector11.addVectors( vector12, vector13 );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } ),
|
|
|
+
|
|
|
+ new Benchmark( 'TypeArrayVector3 addVectors()', function () {
|
|
|
+
|
|
|
+ for ( var i = 0; i < 10000000; i ++ ) {
|
|
|
+
|
|
|
+ vector21.addVectors( vector22, vector23 );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } )
|
|
|
+
|
|
|
+ ];
|
|
|
+
|
|
|
+ function update () {
|
|
|
+
|
|
|
+ vector11 = new THREE.Vector3( Math.random(), Math.random(), Math.random() );
|
|
|
+ vector12 = new THREE.Vector3( Math.random(), Math.random(), Math.random() );
|
|
|
+
|
|
|
+ vector21 = new THREE.TypeArrayVector3().set( vector11.x, vector11.y, vector11.z );
|
|
|
+ vector22 = new THREE.TypeArrayVector3().set( vector12.x, vector12.y, vector12.z );
|
|
|
+
|
|
|
+ for ( var i = 0, l = benchmarks.length; i < l; i ++ ) {
|
|
|
+
|
|
|
+ benchmarks[ i ].run();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ setTimeout( update, 2000 );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ update();
|
|
|
+
|
|
|
+ </script>
|
|
|
+
|
|
|
+ </body>
|
|
|
+</html>
|