123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <!DOCTYPE html>
- <html>
- <!--
- Copyright The Closure Library Authors. All Rights Reserved.
- Use of this source code is governed by the Apache License, Version 2.0.
- See the COPYING file for details.
- -->
- <head>
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>Closure Performance Tests - Vector math</title>
- <link rel="stylesheet" type="text/css"
- href="../testing/performancetable.css"/>
- <script src="../base.js"></script>
- <script>
- goog.require('goog.crypt');
- goog.require('goog.string');
- goog.require('goog.testing.PerformanceTable');
- goog.require('goog.testing.jsunit');
- goog.require('goog.vec.Vec4');
- </script>
- </head>
- <body>
- <h1>Closure Performance Tests - Vector Math</h1>
- <p>
- <strong>User-agent:</strong>
- <script>document.write(navigator.userAgent);</script>
- </p>
- <div id="perfTable"></div>
- <hr>
- <script>
- var table = new goog.testing.PerformanceTable(
- goog.dom.getElement('perfTable'));
- var createVec4FromValues = goog.vec.Vec4.createFromValues;
- var scaleVec4 = goog.vec.Vec4.scale;
- var negateVec4ByScaling = function(v, result) {
- return scaleVec4(v, -1, result);
- };
- var negateVec4ByNegation = function(v, result) {
- result[0] = -v[0];
- result[1] = -v[1];
- result[2] = -v[2];
- result[3] = -v[3];
- return result;
- };
- var negateVec4ByMultiplication = function(v, result) {
- result[0] = -1 * v[0];
- result[1] = -1 * v[1];
- result[2] = -1 * v[2];
- result[3] = -1 * v[3];
- return result;
- };
- function createRandomVec4() {
- return createVec4FromValues(
- Math.random(),
- Math.random(),
- Math.random(),
- Math.random());
- }
- function testNegateVec4ByScaling() {
- var v = createRandomVec4();
- for (var i = 0; i < 2000000; i++) {
- // Warm the trace tree to see if that makes a difference.
- scaleVec4(v, 1, v);
- }
- table.run(
- function() {
- for (var i = 0; i < 2000000; i++) {
- negateVec4ByScaling(v, v);
- }
- },
- 'Negate vector by calling scale()');
- }
- function testNegateVec4ByNegation() {
- var v = createRandomVec4();
- for (var i = 0; i < 2000000; i++) {
- // Warm the trace tree to see if that makes a difference.
- scaleVec4(v, 1, v);
- }
- table.run(
- function() {
- for (var i = 0; i < 2000000; i++) {
- negateVec4ByNegation(v, v);
- }
- },
- 'Negate vector by negating directly');
- }
- </script>
- </body>
- </html>
|