diff --git a/mozilla/js/benchmarks/BenchPress.js b/mozilla/js/benchmarks/BenchPress.js new file mode 100644 index 00000000000..05b1d836463 --- /dev/null +++ b/mozilla/js/benchmarks/BenchPress.js @@ -0,0 +1,1013 @@ +//********* BenchPress-v3.js ********** +// +// A set of benchmarks to measure the efficiency of language implementations. +// Based in part on the Stanford Integer Benchmarks originally written by +// John Hennesey, modified by Peter Nye, and further modified by members of +// the Self group under David Ungar and Randy Smith. +// +// To be consistent with other languages, some benchmarks use 1-based indexing. +// To support this, arrays are created with an extra element and the contents +// of their zeroth entries are ignored. +// +// +// John Maloney, August 1995 +// +//*************************************** + +/********** AbstractBenchmark **********/ + + +function randInit() +{ + this.seed = 74755; +} + +function rand() +{ + this.seed = (( this.seed * 1309) + 13849) & 0xffff; + return this.seed; +} + +function testRand() { + this.randInit(); + if ((this.rand() != 22896) || + (this.rand() != 34761) || + (this.rand() != 34014) || + (this.rand() != 39231) || + (this.rand() != 52540) || + (this.rand() != 41445) || + (this.rand() != 1546) || + (this.rand() != 5947) || + (this.rand() != 65224)) { + this.error("Random number generator"); + } +} + +function unimplemented() { + print(""); +} + + +function AbstractBenchmark_error(s) +{ + print("Error in " + s); +} + +function AbstractBenchmark() +{ + this.error = AbstractBenchmark_error; + this.rand = rand; + this.randInit = randInit; + this.run = unimplemented; + this.seed = 0; +} +AbstractBenchmark.Vect = new Array(10000); + +/********** AbstractSortBenchmark **********/ + +function checkArray(a) { + var lastIndex, i; + + /* Note: sort benchmarks use 1-based indexing */ + lastIndex = a.length - 1; + if ((a[1] != this.littlest) || (a[lastIndex] != this.biggest)) { + this.error("Sort Benchmark: Array is not sorted"); + return; + } + for (i = 2; i <= lastIndex; i++) { + if (a[i - 1] > a[i]) { + this.error("Sort Benchmark: Array is not sorted"); + return; + } + } +} + +function randomArray(arraySize) { + var a; + var i, val; + this.randInit(); + a = new Array(arraySize + 1); /* extra for 1-based indexing */ + this.biggest = -10000; + this.littlest = 10000; + for (i = 1; i <= arraySize; i++) { + val = this.rand(); + a[i] = val; + if (val > this.biggest) this.biggest = val; + if (val < this.littlest) this.littlest = val; + } + return a; +} + +function AbstractSortBenchmark() +{ + this.biggest = 0; + this.littlest = 0; + this.randomArray = randomArray; + this.checkArray = checkArray; +} +AbstractSortBenchmark.prototype = new AbstractBenchmark; + + +/********** SieveBenchmark **********/ + +function sieve(flags, flagsSize) +{ + var primeCount = 0; + + for (var i = 0; i <= flagsSize; i++) { + flags[i] = true; + } + for (var i = 2; i <= flagsSize; i++) { + if (flags[i]) { + primeCount++; + for (var k = i + i; k <= flagsSize; k = k + i) { + flags[k] = false; /* k is not prime */ + } + } + } + return primeCount; +} + +function SieveBenchmark_run() +{ + if (sieve(this.flags, 8190) != 1027) + this.error("SieveBenchmark"); +} + +function SieveBenchmark() +{ + this.flags = new Array(8191); + this.run = SieveBenchmark_run; +} +SieveBenchmark.prototype = new AbstractBenchmark; + +/********** BounceBenchmark **********/ + +function Ball() +{ + this.x = 0; + this.y = 0; + this.xVel = 0; + this.yVel = 0; + this.initializeFor = initializeFor; + this.bounce = bounce; +} + +function initializeFor(bm) +{ + this.x = bm.rand() % 500; + this.y = bm.rand() % 500; + this.xVel = (bm.rand() % 300) - 150; + this.yVel = (bm.rand() % 300) - 150; + return this; +} + +function bounce() +{ + var xLimit = 500; + var yLimit = 500; + var bounced = false; + + this.x = this.x + this.xVel; + this.y = this.y + this.yVel; + if (this.x > xLimit) { + this.x = xLimit; + this.xVel = 0 - Math.abs(this.xVel); + bounced = true; + } + if (this.x < 0) { + this.x = 0; + this.xVel = Math.abs(this.xVel); + bounced = true; + } + if (this.y > yLimit) { + this.y = yLimit; + this.yVel = 0 - Math.abs(this.yVel); + bounced = true; + } + if (this.y < 0) { + this.y = 0; + this.yVel = Math.abs(this.yVel); + bounced = true; + } + return bounced; +} + +function BounceBenchmark() +{ + this.run = BounceBenchmark_run; +} +BounceBenchmark.prototype = new AbstractBenchmark; + +function BounceBenchmark_run() +{ + var ballCount = 100; + var balls; + var bounces = 0; + var i, j; + this.randInit(); + balls = new Array(ballCount); + for (i = 0; i < ballCount; i++) { + balls[i] = (new Ball()).initializeFor(this); + } + for (i = 0; i < 10; i++) { + for (j = 0; j < ballCount; j++) { + if (balls[j].bounce()) bounces++; + } + } + if (bounces != 268) this.error("BounceBenchmark " + bounces); +} + +/********** NestedForLoopBenchmark **********/ + +function NestedForLoopBenchmark_run() +{ + var sum, i, j; + + sum = 0; + for (i = 1000; i > 0; i--) { + for (j = 100; j > 0; j--) { + sum = sum + 1; + } + } + if (sum != 100000) { + this.error("NestedForLoopBenchmark"); + } +} + +function NestedForLoopBenchmark() +{ + this.run = NestedForLoopBenchmark_run; +} +NestedForLoopBenchmark.prototype = new AbstractBenchmark; + +/********** NestedWhileLoopBenchmark **********/ + +function NestedWhileLoopBenchmark_run() +{ + var sum, i, j; + + sum = 0; + i = 1000; + while (i > 0) { + j = 100; + while (j > 0) { + sum = sum + 1; + j--; + } + i--; + } + if (sum != 100000) { + this.error("NestedWhileLoopBenchmark"); + } +} + +function NestedWhileLoopBenchmark() +{ + this.run = NestedWhileLoopBenchmark_run; +} +NestedWhileLoopBenchmark.prototype = new AbstractBenchmark; + +/********** PermBenchmark **********/ + +function PermBenchmark() +{ + this.count = 0; + this.v = 0; + this.run = PermBenchmark_run; + this.permute = permute; + this.swap = swap; +} +PermBenchmark.prototype = new AbstractBenchmark; + +function swap(i, j) +{ + var tmp = this.v[i]; + this.v[i] = this.v[j]; + this.v[j] = tmp; +} + +function permute(n) +{ + var i; + + this.count++; + if (n != 1) { + this.permute(n - 1); + for (i = n - 1; i > 0; i--) { + this.swap(n, i); + this.permute(n - 1); + this.swap(n, i); + } + } +} + +function PermBenchmark_run() +{ + this.count = 0; + this.v = new Array(8); /* extra for 1-based indexing */ + this.permute(7); + if (this.count != 8660) { + this.error("PermBenchmark"); + } +} + +/********** QueensBenchmark **********/ + +function QueensBenchmark() +{ + this.freeRows = null; + this.freeMajs = null; + this.freeMins = null; + this.qrows = null; + this.run = QueensBenchmark_run; + this.placeQueen = placeQueen; + this.doQueens = doQueens; +} +QueensBenchmark.prototype = new AbstractBenchmark; + +function placeQueen(col) { + for (var row = 1; row <= 8; row++) { + if (this.freeRows[row] && this.freeMajs[(col + row) - 1] + && this.freeMins[(col - row) + 7]) { + this.qrows[col] = row; + this.freeRows[row] = false; + this.freeMajs[(col + row) - 1] = false; + this.freeMins[(col - row) + 7] = false; + if (col == 8) return true; + if (this.placeQueen(col + 1)) return true; + this.freeRows[row] = true; + this.freeMajs[(col + row) - 1] = true; + this.freeMins[(col - row) + 7] = true; + } + } + return false; +} + +function doQueens() +{ + var i; + + /* allocate extra element in each array for 1-based indexing */ + this.freeRows = new Array(9); + for (i = 8; i > 0; i--) { + this.freeRows[i] = true; + } + this.freeMajs = new Array(16); + for (i = 15; i > 0; i--) { + this.freeMajs[i] = true; + } + this.freeMins = new Array(16); + for (i = 15; i > 0; i--) { + this.freeMins[i] = true; + } + this.qrows = new Array(9); + for (i = 8; i > 0; i--) { + this.qrows[i] = -1; + } + if (!this.placeQueen(1)) this.error("QueensBenchmark"); +} + +function QueensBenchmark_run() +{ + for (var i = 10; i > 0; i--) + this.doQueens(); +} + +/********** QuicksortBenchmark **********/ + +function QuicksortBenchmark() +{ + this.run = QuicksortBenchmark_run; + this.sort = sort; +} +QuicksortBenchmark.prototype = new AbstractSortBenchmark; + +function sort(a, l, r) +{ + var i, j, pivot, temp; + + i = l; + j = r; + pivot = a[Math.floor((l + r) / 2)]; + while (i <= j) { + while (a[i] < pivot) i++; + while (pivot < a[j]) j--; + if (i <= j) { + temp = a[i]; + a[i] = a[j]; + a[j] = temp; + i++; + j--; + } + } + if (l < j) this.sort(a, l, j); + if (i < r) this.sort(a, i, r); +} + +function QuicksortBenchmark_run() +{ + var v; + v = this.randomArray(1000); + this.sort(v, 1, 1000); + this.checkArray(v); +} + + +/********** RecurseBenchmark **********/ + +function RecurseBenchmark() +{ + this.run = RecurseBenchmark_run; + this.recurse = recurse; +} +RecurseBenchmark.prototype = new AbstractBenchmark; + +function recurse(n) +{ + if (n > 0) { + this.recurse(n - 1); + this.recurse(n - 1); + } +} + +function RecurseBenchmark_run() +{ + this.recurse(14); +} + +/********** BubbleSortBenchmark **********/ + +function bubbleSort(a) +{ + var top, i, curr, next; + + top = a.length - 1; + while (top > 1) { + i = 1; + while (i < top) { + curr = a[i]; + next = a[i + 1]; + if (curr > next) { + a[i] = next; + a[i + 1] = curr; + } + i++; + } + top--; + } +} + +function BubbleSortBenchmark() +{ + this.run = BubbleSortBenchmark_run; + this.bubbleSort = bubbleSort; +} +BubbleSortBenchmark.prototype = new AbstractSortBenchmark; + +function BubbleSortBenchmark_run() +{ + var a; + a = this.randomArray(250); + this.bubbleSort(a); + this.checkArray(a); +} + + +/********** IncrementAllBenchmark **********/ + +function IncrementAllBenchmark() +{ + this.run = IncrementAllBenchmark_run; +} +IncrementAllBenchmark.prototype = new AbstractBenchmark; + +function IncrementAllBenchmark_run() { + var oldVal, i; + + oldVal = AbstractBenchmark.Vect[1]; + for (i = AbstractBenchmark.Vect.length - 1; i >= 0; i--) { + AbstractBenchmark.Vect[i] = AbstractBenchmark.Vect[i] + 1; + } + if (AbstractBenchmark.Vect[1] != (oldVal + 1)) { + this.error("IncrementAllBenchmark"); + } +} + +/********** MMIntBenchmark **********/ + +function IntegerMatrix(rowCount, columnCount) +{ + this.rows = rowCount; + this.columns = columnCount; + this.data = new Array(rowCount); + for (var i = rowCount - 1; i >= 0; i--) { + this.data[i] = new Array(columnCount); + } + this.fillFor = IntegerMatrix_fillFor; + this.dotProduct = IntegerMatrix_dotProduct; + this.multiplyBy = IntegerMatrix_multiplyBy; +} + +function IntegerMatrix_fillFor(bm) +{ + for (var i = this.rows - 1; i >= 0; i--) { + for (var j = this.columns - 1; j >= 0; j--) { + this.data[i][j] = (bm.rand() % 120) - 60; + } + } +} + +function IntegerMatrix_dotProduct(row, rowSize, otherM, columnIndex) +{ + var sum = 0; + for (var i = 0; i < rowSize; i++) { + sum = sum + (row[i] * otherM.data[i][columnIndex]); + } + return sum; +} + +function IntegerMatrix_multiplyBy(m) +{ + var rowCount = this.rows; + var columnCount = m.columns; + result = new IntegerMatrix(rowCount, columnCount); + for (var i = 0; i < rowCount; i++) { + for (var j = 0; j < columnCount; j++) { + result.data[i][j] = + this.dotProduct(this.data[i], this.columns, m, j); + } + } + return result; +} + +function MMIntBenchmark() +{ + this.run = MMIntBenchmark_run; +} +MMIntBenchmark.prototype = new AbstractBenchmark; + +function MMIntBenchmark_run() +{ + var ma, mb, mr; + + ma = new IntegerMatrix(10, 10); + mb = new IntegerMatrix(10, 10); + ma.fillFor(this); + mb.fillFor(this); + mr = ma.multiplyBy(mb); +} + +/********** MMFloatBenchmark **********/ + +function FloatMatrix(rowCount, columnCount) +{ + this.rows = rowCount; + this.columns = columnCount; + this.data = new Array(rowCount); + for (var i = rowCount - 1; i >= 0; i--) { + this.data[i] = new Array(columnCount); + } + this.fillFor = FloatMatrix_fillFor; + this.dotProduct = FloatMatrix_dotProduct; + this.multiplyBy = FloatMatrix_multiplyBy; +} + +function FloatMatrix_fillFor(bm) +{ + for (var i = this.rows - 1; i >= 0; i--) { + for (var j = this.columns - 1; j >= 0; j--) { + this.data[i][j] = (1.0 * ((bm.rand() % 120) - 60)); + } + } +} + +function FloatMatrix_dotProduct(row, rowSize, otherM, columnIndex) +{ + var sum = 0; + for (var i = 0; i < rowSize; i++) { + sum = sum + (row[i] * otherM.data[i][columnIndex]); + } + return sum; +} + +function FloatMatrix_multiplyBy(m) { + var rowCount = this.rows; + var columnCount = m.columns; + result = new FloatMatrix(rowCount, columnCount); + for (var i = 0; i < rowCount; i++) { + for (var j = 0; j < columnCount; j++) { + result.data[i][j] = + this.dotProduct(this.data[i], this.columns, m, j); + } + } + return result; +} + +function MMFloatBenchmark() +{ + this.run = MMFloatBenchmark_run; +} +MMFloatBenchmark.prototype = new AbstractBenchmark; + +function MMFloatBenchmark_run() +{ + var ma, mb, mr; + + ma = new FloatMatrix(10, 10); + mb = new FloatMatrix(10, 10); + ma.fillFor(this); + mb.fillFor(this); + mr = ma.multiplyBy(mb); +} + +/********** AtAllPutBenchmark **********/ + +function AtAllPutBenchmark() +{ + this.run = AtAllPutBenchmark_run; +} +AtAllPutBenchmark.prototype = new AbstractBenchmark; + +function AtAllPutBenchmark_run() +{ + var i; + for (i = AbstractBenchmark.Vect.length - 1; i >= 0; i--) { + AbstractBenchmark.Vect[i] = 5; + } + if (AbstractBenchmark.Vect[1] != 5) + this.error("AtAllPutBenchmark"); +} + +/********** StorageBenchmark **********/ + +function StorageBenchmark() +{ + this.count = 0; + this.run = StorageBenchmark_run; + this.buildTreeDepth = buildTreeDepth; +} +StorageBenchmark.prototype = new AbstractBenchmark; + +function buildTreeDepth(depth) +{ + this.count++; + if (depth == 1) { + return new Array(Math.floor((this.rand() % 10) + 1)); + } else { + newNode = new Array(4); + newNode[0] = this.buildTreeDepth(depth - 1); + newNode[1] = this.buildTreeDepth(depth - 1); + newNode[2] = this.buildTreeDepth(depth - 1); + newNode[3] = this.buildTreeDepth(depth - 1); + return newNode; + } +} + +function StorageBenchmark_run() +{ + this.randInit(); + this.count = 0; + this.buildTreeDepth(6); + if (this.count != 1365) { + this.error("StorageBenchmark"); + } +} + +/********** SumAllBenchmark **********/ + +function SumAllBenchmark() +{ + this.run = SumAllBenchmark_run; +} +SumAllBenchmark.prototype = new AbstractBenchmark; + +function SumAllBenchmark_run() +{ + var elementValue, sum, i; + + elementValue = AbstractBenchmark.Vect[1]; + sum = 0; + for (i = AbstractBenchmark.Vect.length - 1; i >= 0; i--) { + sum = sum + AbstractBenchmark.Vect[i]; + } + if (sum != (AbstractBenchmark.Vect.length * elementValue)) { + this.error("SumAllBenchmark"); + } +} + +/********** SumFromToBenchmark **********/ + +function SumFromToBenchmark() +{ + this.run = SumFromToBenchmark_run; + this.sumFromTo = sumFromTo; +} +SumFromToBenchmark.prototype = new AbstractBenchmark; + +function sumFromTo(start, end) +{ + var sum = 0; + for (var i = start; i <= end; i++) { + sum = sum + i; + } + return sum; +} + +function SumFromToBenchmark_run() { + for (var i = 9; i > 0; i--) + this.sumFromTo(1, 10000); + if (this.sumFromTo(1, 10000) != 50005000) { + this.error("SumFromToBenchmark"); + } +} + + +/********** TakBenchmark **********/ + +function TakBenchmark() +{ + this.run = TakBenchmark_run; + this.tak = tak; +} +TakBenchmark.prototype = new AbstractBenchmark; + +function tak(x, y, z) +{ + if (y < x) { + return this.tak( + this.tak(x - 1, y, z), + this.tak(y - 1, z, x), + this.tak(z - 1, x, y)); + } else { + return z; + } +} + +function TakBenchmark_run() +{ + var r = this.tak(18, 12, 6); + if (r != 7) this.error("TakBenchmark"); +} + +/********** TaklBenchmark **********/ + +function ListElement(n) +{ + this.val = n; + this.next = null; +} + +function listn(n) +{ + if (n == 0) { + return null; + } else { + var newEl = new ListElement(n); + newEl.next = listn(n - 1); + return newEl; + } +} + +function takl_length(l) +{ + if (l.next == null) { + return 1; + } else { + return 1 + takl_length(l.next); + } +} + +function shorterp(x, y) +{ + var xTail, yTail; + + xTail = x; + yTail = y; + while (yTail != null) { + if (xTail == null) return true; + xTail = xTail.next; + yTail = yTail.next; + } + return false; +} + +function takl(x, y, z) +{ + if (shorterp(y, x)) { + return takl( + takl(x.next, y, z), + takl(y.next, z, x), + takl(z.next, x, y)); + } else { + return z; + } +} + +function TaklBenchmark_run() +{ + r = takl(listn(18), listn(12), listn(6)); + if (takl_length(r) != 7) { + this.error("TaklBenchmark"); + } +} + +function TaklBenchmark() +{ + this.run = TaklBenchmark_run; +} +TaklBenchmark.prototype = new AbstractBenchmark; + + +/********** TowersBenchmark **********/ + +function TowersDisk(size) +{ + this.diskSize = size; + this.next = null; +} + +function TowersBenchmark() +{ + this.piles = new Array(4); + this.movesdone = 0; + this.push = push; + this.pop = pop; + this.moveTopDisk = moveTopDisk; + this.buildTowerAt = buildTowerAt; + this.emptyPileAt = emptyPileAt; + this.tower = tower; + this.run = TowersBenchmark_run; +} +TowersBenchmark.prototype = new AbstractBenchmark; + +function push(d, pileIndex) +{ + var top = this.piles[pileIndex]; + if ((top != null) && (d.diskSize >= top.diskSize)) { + this.error("TowersBenchmark: cannot put a big disk on a smaller one"); + } + d.next = top; + this.piles[pileIndex] = d; +} + +function pop(pileIndex) +{ + var top = this.piles[pileIndex]; + if (top == null) { + this.error("TowersBenchmark: attempting to remove a disk from an empty pile"); + } + this.piles[pileIndex] = top.next; + top.next = null; + return top; +} + +function moveTopDisk(fromPileIndex, toPileIndex) +{ + this.push(this.pop(fromPileIndex), toPileIndex); + this.movesdone++; +} + +function buildTowerAt(pileIndex, levels) +{ + for (var i = levels; i > 0; i--) { + this.push(new TowersDisk(i), pileIndex); + } +} + +function emptyPileAt(pileIndex) +{ + this.piles[pileIndex] = null; +} + +function tower(i, j, k) +{ + if (k == 1) { + this.moveTopDisk(i, j); + } else { + var other = (6 - i) - j; + this.tower(i, other, k - 1); + this.moveTopDisk(i, j); + this.tower(other, j, k - 1); + } +} + +function TowersBenchmark_run() +{ + this.emptyPileAt(1); + this.emptyPileAt(2); + this.emptyPileAt(3); + this.buildTowerAt(1, 14); + this.movesdone = 0; + this.tower(1, 2, 14); + if (this.movesdone != 16383) this.error("TowersBenchmark"); +} + +/********** TreeSortBenchmark **********/ + +function TreeNode(n) +{ + this.left = null; + this.right = null; + this.val = n; + this.checkTree = checkTree; + this.insert = insert; +} + +function checkTree() +{ + return ((this.left == null) || + ((this.left.val < this.val) && this.left.checkTree())) && + ((this.right == null) || + ((this.right.val >= this.val) && this.right.checkTree())); +} + +function insert(n) +{ + if (n < this.val) { + if (this.left == null) { + this.left = new TreeNode(n); + } else { + this.left.insert(n); + } + } else { + if (this.right == null) { + this.right = new TreeNode(n); + } else { + this.right.insert(n); + } + } +} + +function TreeSortBenchmark() +{ + this.run = TreeSortBenchmark_run; +} +TreeSortBenchmark.prototype = new AbstractSortBenchmark; + +function TreeSortBenchmark_run() +{ + var vSize = 1000; + + var v = this.randomArray(vSize); + var tree = new TreeNode(v[1]); + for (var i = 2; i <= vSize; i++) { + tree.insert(v[i]); + } + if (!tree.checkTree()) { + this.error("TreeSortBenchmark"); + } +} + +/********** BenchmarkRunner **********/ + +function print2col(col1, col2) { + while (col1.length < 30) + col1 += " "; + print(col1 + col2); +} + +function timeit(name, benchmark) +{ + benchmark.run(); + var startTime = new Date(); + benchmark.run(); + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print2col(name, elapsedTime); + return elapsedTime; +} + + +function BenchmarkRunner() +{ + var total = 0; + + print("Benchpress(v3) in JavaScript..."); + print2col("benchmark", "time (ms)"); + total = total + timeit("AtAllPutBenchmark", new AtAllPutBenchmark()); + total += timeit("BounceBenchmark", new BounceBenchmark()); + total += timeit("BubbleSortBenchmark", new BubbleSortBenchmark()); + total += timeit("IncrementAllBenchmark", new IncrementAllBenchmark()); + total += timeit("MMIntBenchmark", new MMIntBenchmark()); + total += timeit("MMFloatBenchmark", new MMFloatBenchmark()); + total += timeit("NestedForLoopBenchmark", new NestedForLoopBenchmark()); + total += timeit("NestedWhileLoopBenchmark", new NestedWhileLoopBenchmark()); + total += timeit("PermBenchmark", new PermBenchmark()); + total += timeit("QueensBenchmark", new QueensBenchmark()); + total += timeit("QuicksortBenchmark", new QuicksortBenchmark()); + total += timeit("RecurseBenchmark", new RecurseBenchmark()); + total += timeit("SieveBenchmark", new SieveBenchmark()); + total += timeit("StorageBenchmark", new StorageBenchmark()); + total += timeit("SumAllBenchmark", new SumAllBenchmark()); + total += timeit("SumFromToBenchmark", new SumFromToBenchmark()); + total += timeit("TakBenchmark", new TakBenchmark()); + total += timeit("TaklBenchmark", new TaklBenchmark()); + total += timeit("TowersBenchmark", new TowersBenchmark()); + total += timeit("TreeSortBenchmark", new TreeSortBenchmark()); + + print2col("total", total); +} + + + +BenchmarkRunner(); diff --git a/mozilla/js/benchmarks/add_bench.js b/mozilla/js/benchmarks/add_bench.js new file mode 100644 index 00000000000..3fd47798931 --- /dev/null +++ b/mozilla/js/benchmarks/add_bench.js @@ -0,0 +1,294 @@ + +print("add_bench"); + +// add two double parameters +function addDouble_P(d1, d2) +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addDouble_P : " + elapsedTime); + total += elapsedTime; +} + +// add a double parameter and a double literal +function addDouble_PK(d1) +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addDouble_PK : " + elapsedTime); + total += elapsedTime; +} + +// add two double local vars +function addDouble_V() +{ + var t; + var d1 = 2.781828; + var d2 = 3.1415926535; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; t = d1 + d2; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addDouble_V : " + elapsedTime); + total += elapsedTime; +} + +// add a double var and a double literal +function addDouble_VK(d1) +{ + var t; + var d1 = 2.781828; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; t = d1 + 1.4142136; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addDouble_VK : " + elapsedTime); + total += elapsedTime; +} + +// add two string parameters (each 8 bytes long) +function addString_P8(s1, s2) +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addString_P8 : " + elapsedTime); + total += elapsedTime; +} + +// add two string parameters (each 64 bytes long) +function addString_P64(s1, s2) +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addString_P64 : " + elapsedTime); + total += elapsedTime; +} + +// add two string local vars (each 8 bytes long) +function addString_V8() +{ + var t; + var s1 = "01234567"; + var s2 = "abcdefgh"; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addString_V8 : " + elapsedTime); + total += elapsedTime; +} + +// add two string local vars (each 8 bytes long) +function addString_V64() +{ + var t; + var s1 = "01234567"; + var s2 = "abcdefgh"; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; t = s1 + s2; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("addString_V64 : " + elapsedTime); + total += elapsedTime; +} + + +var gD1 = 2.781828; +var gD2 = 3.1415926535; +var gS1_8 = "12345678"; +var gS2_8 = "ABCDEFGH" + +var gS1_64 = "12345678abcdefgh12345678abcdefgh12345678abcdefgh12345678abcdefgh"; +var gS2_64 = "ZYXWVUTS........ZYXWVUTS........ZYXWVUTS........ZYXWVUTS........" + +addDouble_P(gD1, gD2); +addDouble_PK(gD1); +addDouble_V(); +addDouble_VK(gD1); + +addString_P8(gS1_8, gS2_8); +addString_P64(gS1_64, gS2_64); + +addString_V8(); +addString_V64(); + diff --git a/mozilla/js/benchmarks/all_bench.js b/mozilla/js/benchmarks/all_bench.js new file mode 100644 index 00000000000..e81cb5aa4ba --- /dev/null +++ b/mozilla/js/benchmarks/all_bench.js @@ -0,0 +1,40 @@ + +var total = 0; + +print("all_bench"); +print("\n"); + +load("getProp_bench.js"); +print("\n"); + +load("setProp_bench.js"); +print("\n"); + +load("add_bench.js"); +print("\n"); + +load("inc_bench.js"); +print("\n"); + +load("math_bench.js"); +print("\n"); + +load("func_bench.js"); +print("\n"); + +load("branch_bench.js"); +print("\n"); + +load("new_bench.js"); +print("\n"); + +load("array_bench.js"); +print("\n"); + +load("misc_bench.js"); +print("\n"); + +load("eval_bench.js"); +print("\n"); + +print("Total execution time was : " + total + " ms."); \ No newline at end of file diff --git a/mozilla/js/benchmarks/array_bench.js b/mozilla/js/benchmarks/array_bench.js new file mode 100644 index 00000000000..83522e26853 --- /dev/null +++ b/mozilla/js/benchmarks/array_bench.js @@ -0,0 +1,197 @@ + +print("array_bench"); + + +// access the same array element, from a locally constructed, finite size array - with double index +function array_1() +{ + var t = { }; + + var a = new Array(100); + a[33] = { }; + + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("array_1 : " + elapsedTime); + total += elapsedTime; +} + +// access the same array element, from a locally constructed, un-finite size array - with double index +function array_2() +{ + var t = { }; + + var a = { }; + a[33] = { }; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; t = a[33]; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("array_2 : " + elapsedTime); + total += elapsedTime; +} + + +// access the same array element, from a locally constructed, finite size array - with string index +function array_3() +{ + var t = { }; + + var a = new Array(100); + a["33"] = { }; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; t = a["33"]; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("array_3 : " + elapsedTime); + total += elapsedTime; +} + +// access the same array element, from a locally constructed, finite size array - with var index +function array_4() +{ + var t = { }; + + var a = new Array(100); + var x = 33; + a[x] = { }; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; t = a[x]; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("array_3 : " + elapsedTime); + total += elapsedTime; +} + +// store into incrementing indices in a finite sized array +function array_5() +{ + var t = { }; + + var a = new Array(100); + + var startTime = new Date(); + + for (var i = 0; i < 1000; i++) { + for (var j = 0; j < 100; j++) a[j] = t; + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("array_5 : " + elapsedTime); + total += elapsedTime; +} + +// store into incrementing indices in an un-finite sized array +function array_6() +{ + var t = { }; + + var a = { }; + + var startTime = new Date(); + + for (var i = 0; i < 1000; i++) { + for (var j = 0; j < 100; j++) a[j] = t; + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("array_6 : " + elapsedTime); + total += elapsedTime; +} + +array_1(); +array_2(); +array_3(); +array_4(); +array_5(); +array_6(); diff --git a/mozilla/js/benchmarks/branch_bench.js b/mozilla/js/benchmarks/branch_bench.js new file mode 100644 index 00000000000..088c37d9bff --- /dev/null +++ b/mozilla/js/benchmarks/branch_bench.js @@ -0,0 +1,262 @@ +print("branch_bench"); + + +// branch on double compare, branch taken (includes cost of var increment) +function branch_VDG() +{ + var t1 = 0.0; + + var a = 1.0; + var b = 0.0; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("branch_VDG : " + elapsedTime); + total += elapsedTime; +} + +// branch on double compare, branch not taken +function branch_VDL() +{ + var t1 = 0.0; + + var a = 0.0; + var b = 1.0; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("branch_VDL : " + elapsedTime); + total += elapsedTime; +} + +// branch on string compare, branch taken +function branch_VSG() +{ + var t1 = 0.0; + + var a = "abcdfghi"; + var b = "abcdefgh"; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("branch_VSD : " + elapsedTime); + total += elapsedTime; +} + +// branch on string compare, branch not taken +function branch_VSL() +{ + var t1 = 0.0; + + var a = "abcdefgh"; + var b = "abcdfghi"; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("branch_VSL : " + elapsedTime); + total += elapsedTime; +} + + +// branch on parameter compare +function branch_P(a, b, s) +{ + var t1 = 0.0; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; if (a > b) t1++; + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("branch_P" + s + " : " + elapsedTime); + total += elapsedTime; +} + +// an empty for loop, iteration count specified by a constant +function for_K() +{ + var t1 = 0.0; + + var startTime = new Date(); + + for (var i = 0; i < 1000000; i++) { + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("for_K : " + elapsedTime); + total += elapsedTime; +} + +// an empty for loop, iteration count specified by a var +function for_V(p) +{ + var t1 = 0.0; + var c = p; + + var startTime = new Date(); + + for (var i = 0; i < c; i++) { + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("for_V : " + elapsedTime); + total += elapsedTime; +} + +// an empty for loop, iteration count specified by a parameter +function for_P(p) +{ + var t1 = 0.0; + + var startTime = new Date(); + + for (var i = 0; i < p; i++) { + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("for_P : " + elapsedTime); + total += elapsedTime; +} + +branch_VDG(); +branch_VDL(); +branch_VSG(); +branch_VSL(); + +var gA = 1.0; +var gB = 0.0; +branch_P(gA, gB, "DG"); + +gA = 0.0; +gB = 1.0; +branch_P(gA, gB, "DL"); + +gA = "abcdfghi"; +gB = "abcdefgh"; +branch_P(gB, gA, "SG"); + +gA = "abcdefgh"; +gB = "abcdfghi"; +branch_P(gB, gA, "SL"); + + +for_K(); +for_V(1000000); +for_P(1000000); \ No newline at end of file diff --git a/mozilla/js/benchmarks/createObj.js b/mozilla/js/benchmarks/createObj.js new file mode 100644 index 00000000000..08f580135c3 --- /dev/null +++ b/mozilla/js/benchmarks/createObj.js @@ -0,0 +1,11 @@ +function f() { + var o; + for (var i=0; i < 1000; i++) { + o = new Object(); + } +} + +var d = new Date(); +f(); +print("took", (new Date()) - d, "ms."); + diff --git a/mozilla/js/benchmarks/eval_bench.js b/mozilla/js/benchmarks/eval_bench.js new file mode 100644 index 00000000000..213ecb75eb3 --- /dev/null +++ b/mozilla/js/benchmarks/eval_bench.js @@ -0,0 +1,39 @@ +print("eval_bench.js"); + +// assign to a var from within an eval +function eval_1() +{ + var t = { }; + var q = { }; + + var startTime = new Date(); + + for (var i = 0; i < 5; i++) { + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); eval("t = q;"); + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("eval_1 : " + elapsedTime); + total += elapsedTime; +} + + +eval_1(); \ No newline at end of file diff --git a/mozilla/js/benchmarks/func_bench.js b/mozilla/js/benchmarks/func_bench.js new file mode 100644 index 00000000000..f43eec6235b --- /dev/null +++ b/mozilla/js/benchmarks/func_bench.js @@ -0,0 +1,299 @@ + +print("func_bench"); + +// call a function with zero parameters, returning nothing +function f_0V() +{ +} + +function call_0V() +{ + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); f_0V(); + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("call_0V : " + elapsedTime); + total += elapsedTime; +} + + +var gB = { }; + +// call a function with zero parameters, returning an object +function f_0B() +{ + return gB; +} + +function call_0B() +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); t = f_0B(); + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("call_0B : " + elapsedTime); + total += elapsedTime; +} + +// call a function with one parameter, returning an object +function f_1B(a) +{ + return gB; +} + +function call_1B() +{ + var t; + var p = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); t = f_1B(p); + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("call_1B : " + elapsedTime); + total += elapsedTime; +} + +// call a function with two parameters, returning an object +function f_2B(a, b) +{ + return gB; +} + +function call_2B() +{ + var t; + var p0 = { }; + var p1 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); t = f_2B(p0, p1); + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("call_2B : " + elapsedTime); + total += elapsedTime; +} + + +// call a function with four parameters, returning an object +function f_4B(a, b, c, d) +{ + return gB; +} + +function call_4B() +{ + var t; + var p0 = { }; + var p1 = { }; + var p2 = { }; + var p3 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); t = f_4B(p0, p1, p2, p3); + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("call_4B : " + elapsedTime); + total += elapsedTime; +} + +// call a function with eight parameters, returning an object +function f_8B(a, b, c, d, e, f, g, h) +{ + return gB; +} + +function call_8B() +{ + var t; + var p0 = { }; + var p1 = { }; + var p2 = { }; + var p3 = { }; + var p4 = { }; + var p5 = { }; + var p6 = { }; + var p7 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); t = f_8B(p0, p1, p2, p3, p4, p5,p6, p7); + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("call_8B : " + elapsedTime); + total += elapsedTime; +} + +// call a function passing through four parameters +function f_4P(a, b, c, d) +{ + return gB; +} + +function call_4P(p0, p1, p2, p3) +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); t = f_4P(p0, p1, p2, p3); + } + + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("call_4P : " + elapsedTime); + total += elapsedTime; +} + +var gP0 = { }; +var gP1 = { }; +var gP2 = { }; +var gP3 = { }; + +call_0V(); +call_0B(); +call_1B(); +call_2B(); +call_4B(); +call_8B(); +call_4P(gP0, gP1, gP2, gP3); \ No newline at end of file diff --git a/mozilla/js/benchmarks/getProp_bench.js b/mozilla/js/benchmarks/getProp_bench.js new file mode 100644 index 00000000000..a43d20ea237 --- /dev/null +++ b/mozilla/js/benchmarks/getProp_bench.js @@ -0,0 +1,496 @@ + +if (typeof total == "undefined") + total = 0; +print("getProp_bench"); + +// get the same property from the same object, passed as a parameter +function getProp_1(p) +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; t = p.prop1; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_1 : " + elapsedTime); + total += elapsedTime; +} + +// get different properties from the same object, passed as a parameter +function getProp_1a(p) +{ + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + t0 = p.prop0; t1 = p.prop1; t2 = p.prop2; t3 = p.prop3; t4 = p.prop4; t5 = p.prop5; t6 = p.prop6; t7 = p.prop7; t8 = p.prop8; t9 = p.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_1a : " + elapsedTime); + total += elapsedTime; +} + +// get different properties from different objects, passed as parameters +function getProp_1b(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) +{ + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + t0 = p0.prop0; t1 = p1.prop1; t2 = p2.prop2; t3 = p3.prop3; t4 = p4.prop4; t5 = p5.prop5; t6 = p6.prop6; t7 = p7.prop7; t8 = p8.prop8; t9 = p9.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_1b : " + elapsedTime); + total += elapsedTime; +} + +var gP = { }; +gP.prop0 = { }; +gP.prop1 = { }; +gP.prop2 = { }; +gP.prop3 = { }; +gP.prop4 = { }; +gP.prop5 = { }; +gP.prop6 = { }; +gP.prop7 = { }; +gP.prop8 = { }; +gP.prop9 = { }; + +var gP0 = gP; +var gP1 = gP; +var gP2 = gP; +var gP3 = gP; +var gP4 = gP; +var gP5 = gP; +var gP6 = gP; +var gP7 = gP; +var gP8 = gP; +var gP9 = gP; + +// get the same property from the same object in script scope +function getProp_2() +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_2 : " + elapsedTime); + total += elapsedTime; +} + +// get different properties from the same object in script scope +function getProp_2a() +{ + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_2a : " + elapsedTime); + total += elapsedTime; +} + + +// get different properties from different objects in script scope +function getProp_2b() +{ + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_2b : " + elapsedTime); + total += elapsedTime; +} + +// get the same property from the this object +function getProp_3() +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; t = this.prop1; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_3 : " + elapsedTime); + total += elapsedTime; +} + +// get different properties from the this object +function getProp_3a() +{ + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + t0 = this.prop0; t1 = this.prop1; t2 = this.prop2; t3 = this.prop3; t4 = this.prop4; t5 = this.prop5; t6 = this.prop6; t7 = this.prop7; t8 = this.prop8; t9 = this.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_3a : " + elapsedTime); + total += elapsedTime; +} + +// get the same property from the same property of a var +function deepGet_1() +{ + var startTime = new Date(); + + var v = { }; + v.prop0 = { }; + v.prop0.prop0 = { }; + + var t; + + for (var i = 0; i < 5000; i++) { + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; t = v.prop0.prop0; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("deepGet_1 : " + elapsedTime); + total += elapsedTime; +} + +// get a different property from a different property of a var +function deepGet_2() +{ + var startTime = new Date(); + + var v = { }; + v.prop0 = { }; + v.prop0.prop0 = { }; + v.prop1 = { }; + v.prop1.prop1 = { }; + v.prop2 = { }; + v.prop2.prop2 = { }; + v.prop3 = { }; + v.prop3.prop3 = { }; + v.prop4 = { }; + v.prop4.prop4 = { }; + v.prop5 = { }; + v.prop5.prop5 = { }; + v.prop6 = { }; + v.prop6.prop6 = { }; + v.prop7 = { }; + v.prop7.prop7 = { }; + v.prop8 = { }; + v.prop8.prop8 = { }; + v.prop9 = { }; + v.prop9.prop9 = { }; + + var t; + + for (var i = 0; i < 5000; i++) { + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + t = v.prop0.prop0; t = v.prop1.prop1; t = v.prop2.prop2; t = v.prop3.prop3; t = v.prop4.prop4; t = v.prop5.prop5; t = v.prop6.prop6; t = v.prop7.prop7; t = v.prop8.prop8; t = v.prop9.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("deepGet_2 : " + elapsedTime); + total += elapsedTime; +} + + +getProp_1(gP); +getProp_1a(gP); +getProp_1b(gP0, gP1, gP2, gP3, gP4, gP5, gP6, gP7, gP8, gP9); +getProp_2(); +getProp_2a(); +getProp_2b(); +var tP = { }; +tP.doit = getProp_3; +tP.doit2 = getProp_3a; +tP.prop1 = { }; +tP.doit(); +tP.doit2(); + +deepGet_1(); +deepGet_2(); + +// get the same property from the same object in script scope, at script scope + + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; t = gP.prop1; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_S : " + elapsedTime); + total += elapsedTime; + +// get different properties from the same object in script scope, at script scope + + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + t0 = gP.prop0; t1 = gP.prop1; t2 = gP.prop2; t3 = gP.prop3; t4 = gP.prop4; t5 = gP.prop5; t6 = gP.prop6; t7 = gP.prop7; t8 = gP.prop8; t9 = gP.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_Sa : " + elapsedTime); + total += elapsedTime; + +// get different properties from different objects in script scope, at script scope + + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + t0 = gP0.prop0; t1 = gP1.prop1; t2 = gP2.prop2; t3 = gP3.prop3; t4 = gP4.prop4; t5 = gP5.prop5; t6 = gP6.prop6; t7 = gP7.prop7; t8 = gP8.prop8; t9 = gP9.prop9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("getProp_Sb : " + elapsedTime); + total += elapsedTime; diff --git a/mozilla/js/benchmarks/inc_bench.js b/mozilla/js/benchmarks/inc_bench.js new file mode 100644 index 00000000000..fd8042f1729 --- /dev/null +++ b/mozilla/js/benchmarks/inc_bench.js @@ -0,0 +1,148 @@ + +print("inc_bench"); + +// increment a parameter +function increment_P(p) +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + p++; p++; p++; p++; p++; p++; p++; p++; p++; p++; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("increment_P : " + elapsedTime); + total += elapsedTime; +} + +// increment a var +function increment_V(p) +{ + var t; + var v = 0.0; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + v++; v++; v++; v++; v++; v++; v++; v++; v++; v++; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("increment_V : " + elapsedTime); + total += elapsedTime; +} + + +// increment a script scope var +var gV = 0.0; +function increment_gV() +{ + var t; + var v = 0.0; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; gV++; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("increment_gV : " + elapsedTime); + total += elapsedTime; +} + +// increment a property of an object passed as a parameter +function increment_PP(p) +{ + var t; + var v = 0.0; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; p.v++; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("increment_PP : " + elapsedTime); + total += elapsedTime; +} + +var x = 0.0; +increment_P(x); +increment_V(); +increment_gV(); +var gP = { }; +gP.v = 0.0; +increment_PP(gP); + diff --git a/mozilla/js/benchmarks/math_bench.js b/mozilla/js/benchmarks/math_bench.js new file mode 100644 index 00000000000..6581184e2c1 --- /dev/null +++ b/mozilla/js/benchmarks/math_bench.js @@ -0,0 +1,92 @@ + +print("math_bench"); + +function math_V() +{ + var a = 100; + var b = 2; + var c = 5; + var d = 2; + var e = 1000; + var t; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("math_V : " + elapsedTime); + total += elapsedTime; +} + +function math_P(a, b, c, d, e) +{ + var t; + + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; t = a - b * c / d % e; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("math_P : " + elapsedTime); + total += elapsedTime; +} + +var a = 100; +var b = 2; +var c = 5; +var d = 2; +var e = 1000; + +math_V(); +math_P(a, b, c, d, e); diff --git a/mozilla/js/benchmarks/misc_bench.js b/mozilla/js/benchmarks/misc_bench.js new file mode 100644 index 00000000000..397b5122eb6 --- /dev/null +++ b/mozilla/js/benchmarks/misc_bench.js @@ -0,0 +1,409 @@ + +print("misc_bench"); + +document_1 = { }; +document_1.live = { }; +document_1.live.age = { }; +document_1.live.age.value = "june 18, 1961"; +document_1.live.time1 = { }; +document_1.live.time2 = { }; +document_1.live.time3 = { }; + +window = { }; + +function setTimeout() +{ +} + +function lifetimer(){ + today = new Date() + BirthDay = new Date(document_1.live.age.value) + timeold = (today.getTime() - BirthDay.getTime()); + sectimeold = timeold / 1000; + secondsold = Math.floor(sectimeold); + msPerDay = 24 * 60 * 60 * 1000 ; + timeold = (today.getTime() - BirthDay.getTime()); + e_daysold = timeold / msPerDay; + daysold = Math.floor(e_daysold); + e_hrsold = (e_daysold - daysold)*24; + hrsold = Math.floor(e_hrsold); + minsold = Math.floor((e_hrsold - hrsold)*60); + document_1.live.time1.value = daysold + document_1.live.time2.value = hrsold + document_1.live.time3.value = minsold + window.status = "Well at the moment you are " + secondsold + "............ seconds old."; + timerID = setTimeout("lifetimer()",1000) +} + +function misc_1() +{ + var startTime = new Date(); + for (var i = 0; i < 5000; i++) + lifetimer(); + elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("misc_1 : ", elapsedTime); + total += elapsedTime; +} + +//General Array Function +function MakeArray(n) { + this.length = n; + for (var i = 1; i <=n; i++) { + this[i] = 0; + } +} + +//Initialize Days of Week Array +days = new MakeArray(7); +days[0] = "Saturday" +days[1] = "Sunday" +days[2] = "Monday" +days[3] = "Tuesday" +days[4] = "Wednesday" +days[5] = "Thursday" +days[6] = "Friday" + +//Initialize Months Array +months = new MakeArray(12); +months[1] = "January" +months[2] = "February" +months[3] = "March" +months[4] = "April" +months[5] = "May" +months[6] = "June" +months[7] = "July" +months[8] = "August" +months[9] = "September" +months[10] = "October" +months[11] = "November" +months[12] = "December" + +form = { }; +form.day = { }; +form.day.value = "14"; +form.month = { }; +form.month.value = "2"; +form.year = { }; +form.year.value = "1961"; +form.result1 = { }; +form.result2 = { }; + +//Day of Week Function +function compute(form) { + var val1 = parseInt(form.day.value, 10) + if ((val1 < 0) || (val1 > 31)) { + alert("Day is out of range") + } + var val2 = parseInt(form.month.value, 10) + if ((val2 < 0) || (val2 > 12)) { + alert("Month is out of range") + } + var val2x = parseInt(form.month.value, 10) + var val3 = parseInt(form.year.value, 10) + if (val3 < 1900) { + alert("You're that old!") + } + if (val2 == 1) { + val2x = 13; + val3 = val3-1 + } + if (val2 == 2) { + val2x = 14; + val3 = val3-1 + } + var val4 = parseInt(((val2x+1)*3)/5, 10) + var val5 = parseInt(val3/4, 10) + var val6 = parseInt(val3/100, 10) + var val7 = parseInt(val3/400, 10) + var val8 = val1+(val2x*2)+val4+val3+val5-val6+val7+2 + var val9 = parseInt(val8/7, 10) + var val0 = val8-(val9*7) + form.result1.value = months[val2]+" "+form.day.value +", "+form.year.value + form.result2.value = days[val0] +} + +function misc_2() +{ + var startTime = new Date(); + for (var i = 0; i < 5000; i++) { + compute(form); compute(form); + } + elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("misc_2 : ", elapsedTime); + total += elapsedTime; +} + +// Chris Englmeier +// feel free to use this script as long as this text remains intact +// http://www.geocities.com/SiliconValley/Heights/2052 +// Copyright 1996 Chris Englmeier + +Input = { }; +Input.value = 4096; + +function Newton(Input){ + // f(x) = x*x - Input.value + // f'(x) = 2*x + var X = 1; + var FX = X*X - Input.value; + for (var i = 0; i < 10; i++) { + X = X - FX/(2*X); + FX = X*X - Input.value; + } + Input.value = X; + return true; +} + +function misc_3() +{ + var startTime = new Date(); + for (var i = 0; i < 5000; i++) { + Newton(Input); Newton(Input); Newton(Input); Newton(Input); Newton(Input); Newton(Input); + } + elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("misc_3 : ", elapsedTime); + total += elapsedTime; +} + +/* + Copyright 1996, Infohiway, Inc. Restricted use is hereby + granted (commercial and personal OK) so long as this code + is not *directly* sold and the copyright notice is buried + somewhere deep in your HTML document_1. A link to our site + http://www.infohiway.com is always appreciated of course, + but is absolutely and positively not necessary. ;-) --> +*/ +var l=0; +var r=0; +var tc=""; +var al=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ++"123456789"; +var ns="0123456789"; + +function iA(){ + this.length=iA.arguments.length; + for (var i=0;i-1;i--){ + cr=km.substring(i,i+1); + pos=ns.indexOf(cr); + num+=pos*b[kml-i-1]; + } + km=""; + km+=num*1.613; + pos=km.indexOf("."); + if (pos>-1){ + km=km.substring(0,pos); + } + ls1+=km+" kilometers"; + document_2.isn.disp.value=ls1; +} + +function misc_4() +{ + var startTime = new Date(); + for (var i = 0; i < 1000; i++) { + getMiles(); + } + elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("misc_4 : ", elapsedTime); + total += elapsedTime; +} + +misc_1(); +misc_2(); +misc_3(); +misc_4(); \ No newline at end of file diff --git a/mozilla/js/benchmarks/new_bench.js b/mozilla/js/benchmarks/new_bench.js new file mode 100644 index 00000000000..7056b8bf9fb --- /dev/null +++ b/mozilla/js/benchmarks/new_bench.js @@ -0,0 +1,38 @@ + +print("new_bench"); + +// construct (and release) lots of objects +function new_1() +{ + var t; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; t = { }; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("new_1 : " + elapsedTime); + total += elapsedTime; +} + + +new_1(); \ No newline at end of file diff --git a/mozilla/js/benchmarks/setProp_bench.js b/mozilla/js/benchmarks/setProp_bench.js new file mode 100644 index 00000000000..e814c5ddca4 --- /dev/null +++ b/mozilla/js/benchmarks/setProp_bench.js @@ -0,0 +1,547 @@ + +print("setProp_bench"); + +// set the same property into the same object, passed as a parameter +function setProp_1(p) +{ + var t = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; p.prop1 = t; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_1 : " + elapsedTime); + total += elapsedTime; +} + +// set different properties into the same object, passed as a parameter +function setProp_1a(p) +{ + var t0 = { }; + var t1 = { }; + var t2 = { }; + var t3 = { }; + var t4 = { }; + var t5 = { }; + var t6 = { }; + var t7 = { }; + var t8 = { }; + var t9 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + p.prop0 = t0; p.prop1 = t1; p.prop2 = t2; p.prop3 = t3; p.prop4 = t4; p.prop5 = t5; p.prop6 = t6; p.prop7 = t7; p.prop8 = t8; p.prop9 = t9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_1a : " + elapsedTime); + total += elapsedTime; +} + +// set different properties into different objects, passed as parameters +function setProp_1b(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) +{ + var t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + p0.prop0 = t0; p1.prop1 = t1; p2.prop2 = t2; p3.prop3 = t3; p4.prop4 = t4; p5.prop5 = t5; p6.prop6 = t6; p7.prop7 = t7; p8.prop8 = t8; p9.prop9 = t9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_1b : " + elapsedTime); + total += elapsedTime; +} + +var gP = { }; +gP.prop0 = { }; +gP.prop1 = { }; +gP.prop2 = { }; +gP.prop3 = { }; +gP.prop4 = { }; +gP.prop5 = { }; +gP.prop6 = { }; +gP.prop7 = { }; +gP.prop8 = { }; +gP.prop9 = { }; + +var gP0 = gP; +var gP1 = gP; +var gP2 = gP; +var gP3 = gP; +var gP4 = gP; +var gP5 = gP; +var gP6 = gP; +var gP7 = gP; +var gP8 = gP; +var gP9 = gP; + +// set the same property into the same object in script scope +function setProp_2() +{ + var t = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_2 : " + elapsedTime); + total += elapsedTime; +} + +// set different properties into the same object in script scope +function setProp_2a() +{ + var t0 = { }; + var t1 = { }; + var t2 = { }; + var t3 = { }; + var t4 = { }; + var t5 = { }; + var t6 = { }; + var t7 = { }; + var t8 = { }; + var t9 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_2a : " + elapsedTime); + total += elapsedTime; +} + + +// set different properties into different objects in script scope +function setProp_2b() +{ + var t0 = { }; + var t1 = { }; + var t2 = { }; + var t3 = { }; + var t4 = { }; + var t5 = { }; + var t6 = { }; + var t7 = { }; + var t8 = { }; + var t9 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_2b : " + elapsedTime); + total += elapsedTime; +} + +// set the same property into the this object +function setProp_3() +{ + var t = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; this.prop1 = t; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_3 : " + elapsedTime); + total += elapsedTime; +} + +// set different properties from the this object +function setProp_3a() +{ + var t0 = { }; + var t1 = { }; + var t2 = { }; + var t3 = { }; + var t4 = { }; + var t5 = { }; + var t6 = { }; + var t7 = { }; + var t8 = { }; + var t9 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + this.prop0 = t0; this.prop1 = t1; this.prop2 = t2; this.prop3 = t3; this.prop4 = t4; this.prop5 = t5; this.prop6 = t6; this.prop7 = t7; this.prop8 = t8; this.prop9 = t9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_3a : " + elapsedTime); + total += elapsedTime; +} + +// set the same property into the same property of a var +function deepSet_1() +{ + var startTime = new Date(); + + var v = { }; + v.prop0 = { }; + v.prop0.prop0 = { }; + + var t = { }; + + for (var i = 0; i < 5000; i++) { + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; v.prop0.prop0 = t; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("deepSet_1 : " + elapsedTime); + total += elapsedTime; +} + +// set a different property into a different property of a var +function deepSet_2() +{ + var startTime = new Date(); + + var v = { }; + v.prop0 = { }; + v.prop0.prop0 = { }; + v.prop1 = { }; + v.prop1.prop1 = { }; + v.prop2 = { }; + v.prop2.prop2 = { }; + v.prop3 = { }; + v.prop3.prop3 = { }; + v.prop4 = { }; + v.prop4.prop4 = { }; + v.prop5 = { }; + v.prop5.prop5 = { }; + v.prop6 = { }; + v.prop6.prop6 = { }; + v.prop7 = { }; + v.prop7.prop7 = { }; + v.prop8 = { }; + v.prop8.prop8 = { }; + v.prop9 = { }; + v.prop9.prop9 = { }; + + var t; + + for (var i = 0; i < 5000; i++) { + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + v.prop0.prop0 = t; v.prop1.prop1 = t; v.prop2.prop2 = t; v.prop3.prop3 = t; v.prop4.prop4 = t; v.prop5.prop5 = t; v.prop6.prop6 = t; v.prop7.prop7 = t; v.prop8.prop8 = t; v.prop9.prop9 = t; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("deepSet_2 : " + elapsedTime); + total += elapsedTime; +} + + + +setProp_1(gP); +setProp_1a(gP); +setProp_1b(gP0, gP1, gP2, gP3, gP4, gP5, gP6, gP7, gP8, gP9); +setProp_2(); +setProp_2a(); +setProp_2b(); +var tP = { }; +tP.doit = setProp_3; +tP.doit2 = setProp_3a; +tP.prop1 = { }; +tP.doit(); +tP.doit2(); + +deepSet_1(); +deepSet_2(); + +// set the same property into the same object in script scope, at script scope + var t = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; gP.prop1 = t; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_S : " + elapsedTime); + total += elapsedTime; + +// set different properties into the same object in script scope, at script scope + var t0 = { }; + var t1 = { }; + var t2 = { }; + var t3 = { }; + var t4 = { }; + var t5 = { }; + var t6 = { }; + var t7 = { }; + var t8 = { }; + var t9 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + gP.prop0 = t0; gP.prop1 = t1; gP.prop2 = t2; gP.prop3 = t3; gP.prop4 = t4; gP.prop5 = t5; gP.prop6 = t6; gP.prop7 = t7; gP.prop8 = t8; gP.prop9 = t9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_Sa : " + elapsedTime); + total += elapsedTime; + + +// set different properties into different objects in script scope, at script scope + var t0 = { }; + var t1 = { }; + var t2 = { }; + var t3 = { }; + var t4 = { }; + var t5 = { }; + var t6 = { }; + var t7 = { }; + var t8 = { }; + var t9 = { }; + var startTime = new Date(); + + for (var i = 0; i < 5000; i++) { + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + gP0.prop0 = t0; gP1.prop1 = t1; gP2.prop2 = t2; gP3.prop3 = t3; gP4.prop4 = t4; gP5.prop5 = t5; gP6.prop6 = t6; gP7.prop7 = t7; gP8.prop8 = t8; gP9.prop9 = t9; + } + var elapsedTime = (new Date()).getTime() - startTime.getTime(); + print("setProp_Sb : " + elapsedTime); + total += elapsedTime;