--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javaextensions/midprms_db/tsrc/rmsbenchmark/javasrc/BenchmarkRunner.java Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+public class BenchmarkRunner implements Runnable
+{
+ private Thread myThread;
+ private RmsBenchmarkMidlet myMIDlet;
+ private boolean runFullTests;
+
+ public static final String TESTNAMES = "RMS,,,,\n";
+ public static final String TESTS =
+ "10 byte record create,10 byte enumerated read,10 byte random read,create enums,10 byte record set,open,close,10 byte record delete" +
+ ",,100 byte record create,100 byte enumerated read,100 byte random read,create enums,100 byte record set,open,close,100 byte record delete" +
+ ",,1000 byte record create,1000 byte enumerated read,1000 byte random read,create enums,1000 byte record set,open,close,1000 byte record delete" +
+ ",,10000 byte record create,10000 byte enumerated read,10000 byte random read,create enums,10000 byte record set,open,close,10000 byte record delete" +
+ ",,100000 byte record create,100000 byte enumerated read,100000 byte random read,create enums,100000 byte record set,open,close,100000 byte record delete\n";
+
+ public static StringBuffer SCORES;
+
+ BenchmarkRunner(RmsBenchmarkMidlet aMIDlet)
+ {
+ myMIDlet = aMIDlet;
+ SCORES = new StringBuffer();
+ }
+
+ public void start()
+ {
+ runFullTests = false;
+ System.out.println("BenchmarkRunner.start()");
+ myThread = new Thread(this);
+ myThread.start();
+ }
+
+ public void startFull()
+ {
+ runFullTests = true;
+ System.out.println("BenchmarkRunner.startFull()");
+ myThread = new Thread(this);
+ myThread.start();
+ }
+
+ private void getScores(Benchmark benchmark)
+ {
+ StringBuffer score = new StringBuffer();
+ while (benchmark.getScore(score))
+ {
+ SCORES.append(score.toString());
+ SCORES.append(',');
+ score.delete(0, score.length());
+ }
+ }
+
+ public void run()
+ {
+ System.out.println("BenchmarkRunner.run()");
+ SCORES.delete(0, SCORES.length());
+
+ Benchmark benchmark;
+
+ // RMS BENCHMARK
+ myMIDlet.updateForm("RMS...");
+ benchmark = new RMSBenchmark(runFullTests);
+ benchmark.runTest();
+ getScores(benchmark);
+ benchmark = null;
+ System.gc();
+
+ SCORES.append('\n'); // EOL
+ Printer printer = new Printer();
+ printer.print();
+
+ myMIDlet.testsCompleted();
+ System.out.println("BenchmarkRunner.run() completed");
+ }
+
+}