aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/benchmarksgame/binarytrees.java
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/benchmarksgame/binarytrees.java')
-rw-r--r--benchmarks/benchmarksgame/binarytrees.java118
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);
- }
-}