1
/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=4:tabstop=4:smarttab:
4
* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; version 2 of the License.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31
#include "Properties.hpp"
36
using std::ostringstream;
38
using utils::Properties;
44
* Parses the benchmark's command-line arguments.
46
static void parseArguments(int argc, const char* argv[]);
49
* Creates an instance.
54
* Deletes an instance.
65
// command-line arguments
66
static vector< string > propFileNames;
67
static string logFileName;
69
static void exitUsage();
81
struct timeval t0, t1;
84
// driver intializers/finalizers
87
virtual void loadProperties();
88
virtual void initProperties();
89
virtual void printProperties();
90
virtual void openLogFile();
91
virtual void closeLogFile();
93
// benchmark operations
94
virtual void runTests() = 0;
95
virtual void clearLogBuffers();
96
virtual void writeLogBuffers();
97
virtual void begin(const string& name);
98
virtual void finish(const string& name);