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 **************************************************************************/
20 /**************************************************************************
21 * Ported for DSTM Benchmark *
22 **************************************************************************/
25 public class JGFInstrumentor{
27 private HashMap timers;
30 public JGFInstrumentor()
32 timers = new HashMap();
36 public void addTimer (String name){
38 if (timers.containsKey(name)) {
39 System.out.println("JGFInstrumentor.addTimer: warning - timer " + name +
43 timers.put(name, new JGFTimer(name));
47 public void addTimer (String name, String opname){
49 if (timers.containsKey(name)) {
50 System.out.println("JGFInstrumentor.addTimer: warning - timer " + name +
54 timers.put(name, new JGFTimer(name,opname));
59 public void addTimer (String name, String opname, int size){
61 if (timers.containsKey(name)) {
62 System.out.println("JGFInstrumentor.addTimer: warning - timer " + name +
66 timers.put(name, new JGFTimer(name,opname,size));
71 public void startTimer(String name){
72 if (timers.containsKey(name)) {
73 ((JGFTimer) timers.get(name)).start();
76 System.out.println("JGFInstrumentor.startTimer: failed - timer " + name +
82 public void stopTimer(String name){
83 if (timers.containsKey(name)) {
84 ((JGFTimer) timers.get(name)).stop();
87 System.out.println("JGFInstrumentor.stopTimer: failed - timer " + name +
92 public void addOpsToTimer(String name, double count){
93 if (timers.containsKey(name)) {
94 ((JGFTimer) timers.get(name)).addops(count);
97 System.out.println("JGFInstrumentor.addOpsToTimer: failed - timer " + name +
102 public void addTimeToTimer(String name, double added_time){
103 if (timers.containsKey(name)) {
104 ((JGFTimer) timers.get(name)).addtime(added_time);
107 System.out.println("JGFInstrumentor.addTimeToTimer: failed - timer " + name +
115 public double readTimer(String name){
117 if (timers.containsKey(name)) {
118 time = ((JGFTimer) timers.get(name)).time;
121 System.out.println("JGFInstrumentor.readTimer: failed - timer " + name +
128 public void resetTimer(String name){
129 if (timers.containsKey(name)) {
130 ((JGFTimer) timers.get(name)).reset();
133 System.out.println("JGFInstrumentor.resetTimer: failed - timer " + name +
138 public void printTimer(String name){
139 if (timers.containsKey(name)) {
140 ((JGFTimer) timers.get(name)).print();
143 System.out.println("JGFInstrumentor.printTimer: failed - timer " + name +
148 public void printperfTimer(String name){
149 if (timers.containsKey(name)) {
150 ((JGFTimer) timers.get(name)).printperf();
153 System.out.println("JGFInstrumentor.printTimer: failed - timer " + name +
158 public void storeData(String name, Object obj){
162 public void retrieveData(String name, Object obj){
163 obj = data.get(name);
166 public void printHeader(int section, int size,int nthreads) {
171 base = "Java Grande Forum Thread Benchmark Suite - Version 1.0 - Section ";
177 else if (section == 2)
180 header = base + "2 - Size A";
182 header = base + "2 - Size B";
184 header = base + "2 - Size C";
186 else if (section == 3)
189 header = base + "3 - Size A";
191 header = base + "3 - Size B";
194 System.out.println(header);
197 System.out.println("Executing on " + nthreads + " thread");
200 System.out.println("Executing on " + nthreads + " threads");
203 System.out.println("");