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 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit