1 /**************************************************************************
3 * Java Grande Forum Benchmark Suite - Thread Version 1.0 *
7 * Java Grande Benchmarking Project *
11 * Edinburgh Parallel Computing Centre *
13 * email: epcc-javagrande@epcc.ed.ac.uk *
16 * This version copyright (c) The University of Edinburgh, 1999. *
17 * All rights reserved. *
19 **************************************************************************/
23 public class JGFInstrumentor{
25 protected HashMap timers;
26 protected HashMap data;
28 public JGFInstrumentor() {
29 timers = new HashMap();
33 public static void addTimer (String name, HashMap timers){
35 if (timers.containsKey(name)) {
36 System.out.println("JGFInstrumentor.addTimer: warning - timer " + name +
40 timers.put(name, new JGFTimer(name));
44 public static void addTimer (String name, String opname, HashMap timers){
46 if (timers.containsKey(name)) {
47 System.out.println("JGFInstrumentor.addTimer: warning - timer " + name +
51 timers.put(name, new JGFTimer(name,opname));
56 public static void addTimer (String name, String opname, int size, HashMap timers){
58 if (timers.containsKey(name)) {
59 System.out.println("JGFInstrumentor.addTimer: warning - timer " + name +
63 timers.put(name, new JGFTimer(name,opname,size));
68 public static void startTimer(String name, HashMap timers){
69 if (timers.containsKey(name)) {
70 ((JGFTimer) timers.get(name)).start();
73 System.out.println("JGFInstrumentor.startTimer: failed - timer " + name +
79 public static void stopTimer(String name, HashMap timers){
80 if (timers.containsKey(name)) {
81 ((JGFTimer) timers.get(name)).stop();
84 System.out.println("JGFInstrumentor.stopTimer: failed - timer " + name +
89 public static void addOpsToTimer(String name, double count, HashMap timers){
90 if (timers.containsKey(name)) {
91 ((JGFTimer) timers.get(name)).addops(count);
94 System.out.println("JGFInstrumentor.addOpsToTimer: failed - timer " + name +
99 public static void addTimeToTimer(String name, double added_time, HashMap timers){
100 if (timers.containsKey(name)) {
101 ((JGFTimer) timers.get(name)).addtime(added_time);
104 System.out.println("JGFInstrumentor.addTimeToTimer: failed - timer " + name +
112 public static double readTimer(String name, HashMap timers){
114 if (timers.containsKey(name)) {
115 time = ((JGFTimer) timers.get(name)).time;
118 System.out.println("JGFInstrumentor.readTimer: failed - timer " + name +
125 public static void resetTimer(String name, HashMap timers){
126 if (timers.containsKey(name)) {
127 ((JGFTimer) timers.get(name)).reset();
130 System.out.println("JGFInstrumentor.resetTimer: failed - timer " + name +
135 public static void printTimer(String name, HashMap timers){
136 if (timers.containsKey(name)) {
137 ((JGFTimer) timers.get(name)).print();
140 System.out.println("JGFInstrumentor.printTimer: failed - timer " + name +
145 public static void printperfTimer(String name, HashMap timers){
146 if (timers.containsKey(name)) {
147 ((JGFTimer) timers.get(name)).printperf();
150 System.out.println("JGFInstrumentor.printTimer: failed - timer " + name +
155 public static void storeData(String name, Object obj, HashMap data){
159 public static void retrieveData(String name, Object obj, HashMap data){
160 obj = data.get(name);
163 public static void printHeader(int section, int size,int nthreads) {
168 base = "Java Grande Forum Thread Benchmark Suite - Version 1.0 - Section ";
177 header = base + "2 - Size A";
180 header = base + "2 - Size B";
183 header = base + "2 - Size C";
190 header = base + "3 - Size A";
193 header = base + "3 - Size B";
199 System.out.println(header);
202 System.out.println("Executing on " + nthreads + " thread");
205 System.out.println("Executing on " + nthreads + " threads");
208 System.out.println("");