[Piglit] [PATCH 05/19] glean: Remove BasicPerfTest.

Kenneth Graunke kenneth at whitecape.org
Mon Dec 31 18:40:54 PST 2012


Piglit is not a benchmarking suite, and this is a benchmark, not a test.
---
 tests/glean/CMakeLists.gl.txt |   1 -
 tests/glean/tbasicperf.cpp    | 189 ------------------------------------------
 tests/glean/tbasicperf.h      |  85 -------------------
 3 files changed, 275 deletions(-)
 delete mode 100644 tests/glean/tbasicperf.cpp
 delete mode 100644 tests/glean/tbasicperf.h

diff --git a/tests/glean/CMakeLists.gl.txt b/tests/glean/CMakeLists.gl.txt
index d39e79e..e9818c9 100644
--- a/tests/glean/CMakeLists.gl.txt
+++ b/tests/glean/CMakeLists.gl.txt
@@ -29,7 +29,6 @@ piglit_add_executable (glean
 	rc.cpp
 	tapi2.cpp
 	tbasic.cpp
-	tbasicperf.cpp
 	tbinding.cpp
 	tblend.cpp
 	tbufferobject.cpp
diff --git a/tests/glean/tbasicperf.cpp b/tests/glean/tbasicperf.cpp
deleted file mode 100644
index 94e9179..0000000
--- a/tests/glean/tbasicperf.cpp
+++ /dev/null
@@ -1,189 +0,0 @@
-// BEGIN_COPYRIGHT -*- glean -*-
-// 
-// Copyright (C) 2000  Allen Akin   All Rights Reserved.
-// 
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the
-// Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-// KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL ALLEN AKIN BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-// AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-// 
-// END_COPYRIGHT
-
-// tbasicperf.cpp:  implementation of example class for basic
-// performance tests
-
-// To customize this for benchmarking a particular function,
-// create a new performance test object of type GLEAN::Perf,
-// overriding the preop(), op(), and postop() methods as needed.
-// (For OpenGL timing tests preop() and postop() will both call
-// glFinish(), but other pre- and post-ops may be used for
-// timing things other than OpenGL.)  Then invoke the object's
-// calibrate() and time() methods as shown in runOne().
-
-#include "tbasicperf.h"
-#include "timer.h"
-#include <algorithm>
-
-namespace {
-class MyPerf : public GLEAN::Timer {
-public:
-	int msec;
-
-	void preop()  { glFinish(); }
-	void op()     {
-#ifdef __WIN__
-		Sleep(msec);	/* milliseconds */
-#else
-		usleep(msec*1000); /* microseconds */
-#endif
-	}
-	void postop() { glFinish(); }
-
-	MyPerf() { msec = 100; }
-};
-
-
-// Complex results helper functions
-
-void
-diffHeader(bool& same, const string& name,
-           GLEAN::DrawingSurfaceConfig* config, GLEAN::Environment* env) {
-        if (same) {
-                same = false;
-                env->log << name << ":  DIFF "
-                         << config->conciseDescription() << '\n';
-        }
-} // diffHeader
-
-}
-
-namespace GLEAN {
-
-///////////////////////////////////////////////////////////////////////////////
-// runOne:  Run a single test case
-///////////////////////////////////////////////////////////////////////////////
-void
-BasicPerfTest::runOne(BasicPerfResult& r, Window &w) {
-	MyPerf perf;
-
-	perf.calibrate();
-	vector<float> m;
-	for (int i = 0; i < 5; i++) {
-		env->quiesce();
-		double t = perf.time();
-		w.swap();	// So user can see something
-		m.push_back(t);
-	}
-	sort(m.begin(), m.end());
-	r.timeAvg  = (m[1] + m[2] + m[3]) / 3.0;
-	r.timeLow  = m[1];
-	r.timeHigh = m[3];
-	r.pass        = true;
-} // BasicPerfTest::runOne
-
-///////////////////////////////////////////////////////////////////////////////
-// logOne:  Log a single test case
-///////////////////////////////////////////////////////////////////////////////
-void
-BasicPerfTest::logOne(BasicPerfResult& r) {
-	logPassFail(r);
-	logConcise(r);
-	logStats(r);
-} // BasicPerfTest::logOne
-
-///////////////////////////////////////////////////////////////////////////////
-// compareOne:  Compare results for a single test case
-///////////////////////////////////////////////////////////////////////////////
-void
-BasicPerfTest::compareOne(BasicPerfResult& oldR, BasicPerfResult& newR) {
-	bool same = true;
-	const char *title = "100mS sleep";
-
-	if (newR.timeLow < oldR.timeLow) {
-		double percent = (100.0
-				  * (oldR.timeLow - newR.timeLow)
-				  / newR.timeLow + 0.5);
-		if (percent >= 5.0) {
-			diffHeader(same, name, oldR.config, env);
-			env->log << '\t'
-				 << env->options.db1Name
-				 << " may be "
-				 << percent
-				 << "% faster on "
-				 << title
-				 << '\n';
-		}
-        }
-	if (newR.timeHigh > oldR.timeHigh) {
-		double percent = (100.0
-				  * (newR.timeHigh - oldR.timeHigh)
-				  / oldR.timeHigh + 0.5);
-		if (percent >= 5.0) {
-			diffHeader(same, name, oldR.config, env);
-			env->log << '\t'
-				 << env->options.db2Name
-				 << " may be "
-				 << percent
-				 << "% faster on "
-				 << title
-				 << '\n';
-		}
-        }
-
-	if (same && env->options.verbosity) {
-		env->log << name
-			 << ": SAME "
-			 << newR.config->conciseDescription()
-			 << "\n\t"
-			 << env->options.db2Name
-			 << " test time falls within the"
-			 << " valid measurement range of\n\t"
-			 << env->options.db1Name
-			 << " test time.\n";
-	}
-	if (env->options.verbosity) {
-		env->log << env->options.db1Name << ':';
-		logStats(oldR);
-		env->log << env->options.db2Name << ':';
-		logStats(newR);
-	}
-} // BasicPerfTest::compareOne
-
-void
-BasicPerfTest::logStats(BasicPerfResult& r) {
-        env->log << "\tAverage = "
-		 << r.timeAvg
-		 << "\tRange = ["
-		 << r.timeLow
-		 << ", "
-		 << r.timeHigh
-		 << "]\n";
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// The test object itself:
-///////////////////////////////////////////////////////////////////////////////
-BasicPerfTest basicPerfTest("basicPerf", "window",
-	"This trivial test simply verifies the internal support for basic\n"
-	"performance tests.  It is run on every OpenGL-capable drawing surface\n"
-	"configuration that supports creation of a window.  If everything is\n"
-	"working correctly, each result should be close to 0.1 second.\n");
-
-} // namespace GLEAN
diff --git a/tests/glean/tbasicperf.h b/tests/glean/tbasicperf.h
deleted file mode 100644
index 62fdbb6..0000000
--- a/tests/glean/tbasicperf.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// BEGIN_COPYRIGHT -*- glean -*-
-// 
-// Copyright (C) 2000  Allen Akin   All Rights Reserved.
-// 
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the
-// Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-// KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL ALLEN AKIN BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-// AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-// 
-// END_COPYRIGHT
-
-
-
-// tbasicperf.h:  Example class for basic performance tests
-
-// This class provides a framework for performance tests.  Like most
-// glean tests, it's derived from the BaseResult class and BaseTest
-// template class; see tbase.h for further information.  However, it
-// is specialized to include member variables and functions that show
-// how to perform timing operations, save results, and compare
-// results.
-
-// To produce a customized benchmark, one can derive a new class from
-// this one and override the runOne() function to perform the timing
-// measurements.  For more information, see tbasicperf.cpp.
-
-
-#ifndef __tbasicperf_h__
-#define __tbasicperf_h__
-
-#include "tbase.h"
-
-namespace GLEAN {
-
-class DrawingSurfaceConfig;		// Forward reference.
-
-class BasicPerfResult: public BaseResult {
-public:
-	bool   pass;
-	double timeAvg, timeLow, timeHigh;
-	
-	BasicPerfResult() {
-		timeAvg = timeLow = timeHigh = 0.0;
-	}
-
-	void putresults(ostream& s) const {
-		s << pass
-		  << ' ' << timeAvg
-		  << ' ' << timeLow
-		  << ' ' << timeHigh
-		  << '\n';
-	}
-
-	bool getresults(istream& s) {
-		s >> pass >> timeAvg >> timeLow >> timeHigh;
-		return s.good();
-	}
-};
-
-class BasicPerfTest: public BaseTest<BasicPerfResult> {
-public:
-	GLEAN_CLASS(BasicPerfTest, BasicPerfResult);
-	void logStats(BasicPerfResult& r);
-}; // class BasicPerfTest
-
-} // namespace GLEAN
-
-#endif // __tbasicperf_h__
-- 
1.8.0.3



More information about the Piglit mailing list