diff options
Diffstat (limited to 'benchmarks/benchmarksgame/binarytrees.java')
-rw-r--r-- | benchmarks/benchmarksgame/binarytrees.java | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/benchmarks/benchmarksgame/binarytrees.java b/benchmarks/benchmarksgame/binarytrees.java deleted file mode 100644 index a23c584..0000000 --- a/benchmarks/benchmarksgame/binarytrees.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * This benchmark has been ported from "The Computer Language Benchmarks Game" suite and slightly - * modified to fit the benchmarking framework. - * - * The original file is `binarytrees/binarytrees.java-2.java` from the archive - * available at - * http://benchmarksgame.alioth.debian.org/download/benchmarksgame-sourcecode.zip. - * See LICENSE file in the same folder (BSD 3-clause) - * - * The Computer Language Benchmarks Game - * http://benchmarksgame.alioth.debian.org/ - * - * contributed by Jarkko Miettinen - */ - -/* - * Description: Allocate and deallocate many many binary trees. - * Main Focus: TODO - * - */ - -package benchmarks.benchmarksgame; - -// CHECKSTYLE.OFF: .* -public class binarytrees { - - private static final int PREDEFINED_DEPTH = 10; - private final static int minDepth = 4; - - public int old_main(){ - int n = 0; - int maxDepth = (minDepth + 2 > PREDEFINED_DEPTH) ? minDepth + 2 : PREDEFINED_DEPTH; - int stretchDepth = maxDepth + 1; - - int check = (TreeNode.bottomUpTree(0,stretchDepth)).itemCheck(); - - TreeNode longLivedTree = TreeNode.bottomUpTree(0,maxDepth); - - for (int depth=minDepth; depth<=maxDepth; depth+=2){ - int iterations = 1 << (maxDepth - depth + minDepth); - check = 0; - - for (int i=1; i<=iterations; i++){ - check += (TreeNode.bottomUpTree(i,depth)).itemCheck(); - check += (TreeNode.bottomUpTree(-i,depth)).itemCheck(); - } - } - return check; - } - - - private static class TreeNode - { - private TreeNode left, right; - private int item; - - TreeNode(int item){ - this.item = item; - } - - private static TreeNode bottomUpTree(int item, int depth){ - if (depth>0){ - return new TreeNode( - bottomUpTree(2*item-1, depth-1) - , bottomUpTree(2*item, depth-1) - , item - ); - } - else { - return new TreeNode(item); - } - } - - TreeNode(TreeNode left, TreeNode right, int item){ - this.left = left; - this.right = right; - this.item = item; - } - - private int itemCheck(){ - // if necessary deallocate here - if (left==null) return item; - else return item + left.itemCheck() - right.itemCheck(); - } - } - // CHECKSTYLE.ON: .* - - public void timeBinaryTrees(int iters) { - for (int j = 0; j < iters; j++) { - old_main(); - } - } - - public boolean verifyBinaryTrees() { - int expected = -32; - int found = old_main(); - - if (expected != found) { - System.out.println("ERROR: Expected " + expected + " but found " + found); - return false; - } - return true; - } - - public static void main(String[] args) { - int rc = 0; - binarytrees obj = new binarytrees(); - final long before = System.currentTimeMillis(); - obj.timeBinaryTrees(30); - final long after = System.currentTimeMillis(); - - if (!obj.verifyBinaryTrees()) { - rc++; - } - System.out.println("benchmarks/benchmarksgame/binarytrees: " + (after - before)); - System.exit(rc); - } -} |