mirror of
https://github.com/Doodle3D/Doodle3D-Slicer.git
synced 2024-11-26 23:44:56 +01:00
88 lines
1.4 KiB
JavaScript
Executable File
88 lines
1.4 KiB
JavaScript
Executable File
THREE = {};
|
|
|
|
THREE.Vector3 = function ( x, y, z ) {
|
|
|
|
this.x = x || 0;
|
|
this.y = y || 0;
|
|
this.z = z || 0;
|
|
|
|
};
|
|
|
|
THREE.Vector3.prototype = {
|
|
|
|
constructor: THREE.Vector3,
|
|
|
|
lengthSq: function () {
|
|
|
|
return this.x * this.x + this.y * this.y + this.z * this.z;
|
|
|
|
},
|
|
|
|
length: function () {
|
|
|
|
return Math.sqrt( this.lengthSq() );
|
|
|
|
},
|
|
|
|
length2: function () {
|
|
|
|
return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z );
|
|
|
|
}
|
|
|
|
};
|
|
|
|
var a = [];
|
|
|
|
for ( var i = 0; i < 100000; i ++ ) {
|
|
|
|
a[ i ] = new THREE.Vector3( i * 0.01, i * 2, i * -1.3 );
|
|
|
|
}
|
|
|
|
|
|
var suite = new Benchmark.Suite;
|
|
|
|
suite.add('NoCallTest', function() {
|
|
|
|
var result = 0;
|
|
|
|
for ( var i = 0; i < 100000; i ++ ) {
|
|
var v = a[i];
|
|
result += Math.sqrt( v.x * v.x + v.y * v.y + v.z * v.z );
|
|
}
|
|
|
|
});
|
|
|
|
suite.add('InlineCallTest', function() {
|
|
|
|
var result = 0;
|
|
|
|
for ( var i = 0; i < 100000; i ++ ) {
|
|
|
|
result += a[ i ].length2();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
suite.add('FunctionCallTest', function() {
|
|
var result = 0;
|
|
|
|
for ( var i = 0; i < 100000; i ++ ) {
|
|
|
|
result += a[ i ].length();
|
|
|
|
}
|
|
});
|
|
|
|
suite.on('cycle', function(event, bench) {
|
|
console.log(String(event.target));
|
|
});
|
|
|
|
suite.on('complete', function() {
|
|
console.log('Fastest is ' + this.filter('fastest').pluck('name'));
|
|
console.log( "Done" );
|
|
});
|
|
|
|
suite.run(true); |