Index: tests/service_tests/performance/java/PerformanceTest.java |
diff --git a/tests/service_tests/performance/java/PerformanceTest.java b/tests/service_tests/performance/java/PerformanceTest.java |
deleted file mode 100644 |
index 37a5865cea2e8bdefcb13c63b92d89022ec162ea..0000000000000000000000000000000000000000 |
--- a/tests/service_tests/performance/java/PerformanceTest.java |
+++ /dev/null |
@@ -1,163 +0,0 @@ |
-// Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE.md file. |
- |
-import dartino.*; |
- |
-import java.io.FileInputStream; |
-import java.io.FileNotFoundException; |
-import java.io.IOException; |
- |
-import java.util.List; |
- |
-class PerformanceTest { |
- static final int CALL_COUNT = 10000; |
- static final int TREE_DEPTH = 7; |
- |
- public static void main(String args[]) { |
- // Expecting a snapshot of the dart service code on the command line. |
- if (args.length != 1) { |
- System.out.println("Usage: java PerformanceTest <snapshot>"); |
- System.exit(1); |
- } |
- |
- // Load libdartino.so. |
- System.loadLibrary("dartino"); |
- |
- // Setup Dartino. |
- DartinoApi.Setup(); |
- DartinoServiceApi.Setup(); |
- DartinoApi.AddDefaultSharedLibrary("libdartino.so"); |
- |
- try { |
- // Load snapshot and start dart code on a separate thread. |
- FileInputStream snapshotStream = new FileInputStream(args[0]); |
- int available = snapshotStream.available(); |
- byte[] snapshot = new byte[available]; |
- snapshotStream.read(snapshot); |
- Thread dartThread = new Thread(new SnapshotRunner(snapshot)); |
- dartThread.start(); |
- } catch (FileNotFoundException e) { |
- System.err.println("Failed loading snapshot"); |
- System.exit(1); |
- } catch (IOException e) { |
- System.err.println("Failed loading snapshot"); |
- System.exit(1); |
- } |
- |
- // Run performance tests. |
- PerformanceService.Setup(); |
- try { |
- runEcho(); |
- runAsyncEcho(); |
- runTreeTests(); |
- } finally { |
- PerformanceService.TearDown(); |
- } |
- } |
- |
- private static void runEcho() { |
- long start = System.currentTimeMillis(); |
- for (int i = 0; i < CALL_COUNT; i++) { |
- int result = PerformanceService.echo(i); |
- if (i != result) throw new RuntimeException("Wrong result"); |
- } |
- long end = System.currentTimeMillis(); |
- double us = (end - start) * 1000.0 / CALL_COUNT; |
- System.out.println("Sync call took " + us + " us."); |
- } |
- |
- private static void runAsyncEcho() { |
- final Object monitor = new Object(); |
- final PerformanceService.EchoCallback[] callback = |
- new PerformanceService.EchoCallback[1]; |
- |
- final long start = System.currentTimeMillis(); |
- callback[0] = new PerformanceService.EchoCallback() { |
- public void handle(int i) { |
- if (i < CALL_COUNT) { |
- PerformanceService.echoAsync(i + 1, callback[0]); |
- } else { |
- synchronized (monitor) { |
- monitor.notify(); |
- } |
- } |
- } |
- }; |
- |
- synchronized (monitor) { |
- boolean done = false; |
- PerformanceService.echoAsync(0, callback[0]); |
- while (!done) { |
- try { |
- monitor.wait(); |
- done = true; |
- } catch (InterruptedException e) { |
- // Ignored. |
- } |
- } |
- } |
- |
- long end = System.currentTimeMillis(); |
- double us = (end - start) * 1000.0 / CALL_COUNT; |
- System.out.println("Async call took " + us + " us."); |
- } |
- |
- private static int countTreeNodes(TreeNode node) { |
- int sum = 1; |
- TreeNodeList children = node.getChildren(); |
- for (int i = 0; i < children.size(); i++) { |
- sum += countTreeNodes(children.get(i)); |
- } |
- return sum; |
- } |
- |
- private static void buildTree(int n, TreeNodeBuilder node) { |
- if (n > 1) { |
- TreeNodeListBuilder children = node.initChildren(2); |
- buildTree(n - 1, children.get(0)); |
- buildTree(n - 1, children.get(1)); |
- } |
- } |
- |
- private static void runTreeTests() { |
- |
- long start = System.currentTimeMillis(); |
- TreeNodeBuilder built = null; |
- for (int i = 0; i < CALL_COUNT; i++) { |
- MessageBuilder builder = new MessageBuilder(8192); |
- built = new TreeNodeBuilder(); |
- builder.initRoot(built, TreeNodeBuilder.kSize); |
- buildTree(TREE_DEPTH, built); |
- } |
- long end = System.currentTimeMillis(); |
- double us = (end - start) * 1000.0 / CALL_COUNT; |
- System.out.println("Building (Java) took " + us + " us."); |
- |
- start = System.currentTimeMillis(); |
- for (int i = 0; i < CALL_COUNT; i++) { |
- PerformanceService.countTreeNodes(built); |
- } |
- end = System.currentTimeMillis(); |
- us = (end - start) * 1000.0 / CALL_COUNT; |
- System.out.println("Counting (Dart) took " + us + " us."); |
- |
- start = System.currentTimeMillis(); |
- for (int i = 0; i < CALL_COUNT; i++) { |
- TreeNode generated = PerformanceService.buildTree(TREE_DEPTH); |
- } |
- end = System.currentTimeMillis(); |
- us = (end - start) * 1000.0 / CALL_COUNT; |
- System.out.println("Building (Dart) took " + us + " us."); |
- |
- TreeNode generated = PerformanceService.buildTree(TREE_DEPTH); |
- |
- start = System.currentTimeMillis(); |
- for (int i = 0; i < CALL_COUNT; i++) { |
- countTreeNodes(generated); |
- } |
- end = System.currentTimeMillis(); |
- us = (end - start) * 1000.0 / CALL_COUNT; |
- System.out.println("Counting (Java) took " + us + " us."); |
- } |
-} |