jdk/test/java/rmi/reliability/benchmark/bench/serial/Main.java
author xdono
Wed, 02 Jul 2008 12:55:45 -0700
changeset 715 f16baef3a20e
parent 309 bda219d843f6
child 5506 202f599c92aa
permissions -rw-r--r--
6719955: Update copyright year Summary: Update copyright year for files that have been modified in 2008 Reviewed-by: ohair, tbell
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
     1
/*
715
f16baef3a20e 6719955: Update copyright year
xdono
parents: 309
diff changeset
     2
 * Copyright 1999-2008 Sun Microsystems, Inc.  All Rights Reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
 * published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
 * CA 95054 USA or visit www.sun.com if you need additional information or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
 * have any questions.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
/*
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
package bench.serial;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
import bench.ConfigFormatException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
import bench.Harness;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
import bench.HtmlReporter;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
import bench.Reporter;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
import bench.TextReporter;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
import bench.XmlReporter;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
import java.io.FileInputStream;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
import java.io.FileOutputStream;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
import java.io.InputStream;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
import java.io.IOException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
import java.io.OutputStream;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
import java.io.PrintStream;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
import java.util.Timer;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
import java.util.TimerTask;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
/**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
 * Object serialization benchmark mainline.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
public class Main {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    49
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
    static final String CONFFILE = "/bench/serial/config";
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
    static final String VERSION = "1.3";
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
    static final int TEXT = 0;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
    static final int HTML = 1;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
    static final int XML = 2;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
    static boolean verbose;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
    static boolean list;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
    static boolean exitOnTimer;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
    static int testDurationSeconds;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
    static volatile boolean exitRequested;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
    static Timer timer;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
    static int format = TEXT;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
    static InputStream confstr;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
    static OutputStream repstr;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
    static Harness harness;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
    static Reporter reporter;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
     * Print help message.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
    static void usage() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
        PrintStream p = System.err;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
        p.println("\nUsage: java -jar serialbench.jar [-options]");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
        p.println("\nwhere options are:");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
        p.println("  -h              print this message");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
        p.println("  -v              verbose mode");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
        p.println("  -l              list configuration file");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
        p.println("  -t <num hours>  repeat benchmarks for specified number of hours");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
        p.println("  -o <file>       specify output file");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
        p.println("  -c <file>       specify (non-default) configuration file");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
        p.println("  -html           format output as html (default is text)");
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    83
        p.println("  -xml            format output as xml");
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
     * Print error message and exit.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
    static void die(String mesg) {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    90
        System.err.println(mesg);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    91
        System.exit(1);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
     * Mainline parses command line, then hands off to benchmark harness.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
    public static void main(String[] args) {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    98
        parseArgs(args);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    99
        setupStreams();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   100
        if (list) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   101
            listConfig();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   102
        } else {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   103
            setupHarness();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   104
            setupReporter();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   105
            if (exitOnTimer) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   106
                setupTimer(testDurationSeconds);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   107
                while (true) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   108
                    runBenchmarks();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   109
                    if (exitRequested) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   110
                        System.exit(0);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   111
                    }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   112
                }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   113
            } else {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   114
                runBenchmarks();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   115
                System.exit(0);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   116
            }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   117
        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
    }
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   119
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
     * Parse command-line arguments.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
    static void parseArgs(String[] args) {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   124
        for (int i = 0; i < args.length; i++) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   125
            if (args[i].equals("-h")) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   126
                usage();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   127
                System.exit(0);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   128
            } else if (args[i].equals("-v")) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   129
                verbose = true;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   130
            } else if (args[i].equals("-l")) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   131
                list = true;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
            } else if (args[i].equals("-t")) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
                if (++i >= args.length)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
                    die("Error: no timeout value specified");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
                try {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
                    exitOnTimer = true;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
                    testDurationSeconds = Integer.parseInt(args[i]) * 3600;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
                } catch (Exception e) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
                    die("Error: unable to determine timeout value");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
                }
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   141
            } else if (args[i].equals("-o")) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   142
                if (++i >= args.length)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   143
                    die("Error: no output file specified");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   144
                try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   145
                    repstr = new FileOutputStream(args[i]);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   146
                } catch (IOException e) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   147
                    die("Error: unable to open \"" + args[i] + "\"");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   148
                }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   149
            } else if (args[i].equals("-c")) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   150
                if (++i >= args.length)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   151
                    die("Error: no config file specified");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   152
                try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   153
                    confstr = new FileInputStream(args[i]);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   154
                } catch (IOException e) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   155
                    die("Error: unable to open \"" + args[i] + "\"");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   156
                }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   157
            } else if (args[i].equals("-html")) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   158
                if (format != TEXT)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   159
                    die("Error: conflicting formats");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   160
                format = HTML;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   161
            } else if (args[i].equals("-xml")) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   162
                if (format != TEXT)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   163
                    die("Error: conflicting formats");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   164
                format = XML;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   165
            } else {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   166
                System.err.println("Illegal option: \"" + args[i] + "\"");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   167
                usage();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   168
                System.exit(1);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   169
            }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   170
        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
    }
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   172
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
     * Set up configuration file and report streams, if not set already.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
    static void setupStreams() {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   177
        if (repstr == null)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   178
            repstr = System.out;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   179
        if (confstr == null)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   180
            confstr = (new Main()).getClass().getResourceAsStream(CONFFILE);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   181
        if (confstr == null)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   182
            die("Error: unable to find default config file");
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
    }
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   184
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
     * Print contents of configuration file to selected output stream.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
    static void listConfig() {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   189
        try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   190
            byte[] buf = new byte[256];
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   191
            int len;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   192
            while ((len = confstr.read(buf)) != -1)
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   193
                repstr.write(buf, 0, len);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   194
        } catch (IOException e) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   195
            die("Error: failed to list config file");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   196
        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
    }
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   198
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
     * Set up the timer to end the test.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
     * @param delay the amount of delay, in seconds, before requesting
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
     * the process exit
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
    static void setupTimer(int delay) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
        timer = new Timer(true);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
        timer.schedule(
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
            new TimerTask() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
                public void run() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
                    exitRequested = true;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
                }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
            },
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
            delay * 1000);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
     * Set up benchmark harness.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
    static void setupHarness() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
        try {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
            harness = new Harness(confstr);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
        } catch (ConfigFormatException e) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
            String errmsg = e.getMessage();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
            if (errmsg != null) {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   225
                die("Error parsing config file: " + errmsg);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   226
            } else {
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
                die("Error: illegal config file syntax");
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   228
            }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
        } catch (IOException e) {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   230
            die("Error: failed to read config file");
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
     * Setup benchmark reporter.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
    static void setupReporter() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
        String title = "Object Serialization Benchmark, v" + VERSION;
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   239
        switch (format) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   240
            case TEXT:
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   241
                reporter = new TextReporter(repstr, title);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   242
                break;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   244
            case HTML:
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   245
                reporter = new HtmlReporter(repstr, title);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   246
                break;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   247
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   248
            case XML:
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   249
                reporter = new XmlReporter(repstr, title);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   250
                break;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   251
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   252
            default:
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   253
                die("Error: unrecognized format type");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   254
        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
     * Run benchmarks.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
    static void runBenchmarks() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
        harness.runBenchmarks(reporter, verbose);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
}