From ac425090f389e34f9aee71b5957cca529ac74a38 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 26 Feb 2010 14:57:49 +0100 Subject: BTL: allow to bench real time --- bench/btl/generic_bench/bench_parameter.hh | 2 +- bench/btl/generic_bench/btl.hh | 21 ++++++++++- .../generic_bench/timers/portable_perf_analyzer.hh | 2 +- bench/btl/generic_bench/timers/portable_timer.hh | 44 +++++----------------- 4 files changed, 30 insertions(+), 39 deletions(-) (limited to 'bench/btl') diff --git a/bench/btl/generic_bench/bench_parameter.hh b/bench/btl/generic_bench/bench_parameter.hh index d14340037..4c355cd6e 100644 --- a/bench/btl/generic_bench/bench_parameter.hh +++ b/bench/btl/generic_bench/bench_parameter.hh @@ -48,6 +48,6 @@ #define DEFAULT_NB_SAMPLE 1000 // how many times we run a single bench (keep the best perf) -#define NB_TRIES 3 +#define DEFAULT_NB_TRIES 3 #endif diff --git a/bench/btl/generic_bench/btl.hh b/bench/btl/generic_bench/btl.hh index fdc099296..fd501c313 100644 --- a/bench/btl/generic_bench/btl.hh +++ b/bench/btl/generic_bench/btl.hh @@ -41,7 +41,7 @@ #if (defined __GNUC__) #define BTL_ASM_COMMENT(X) asm("#"X) #else -#define BTL_ASM_COMMENT(X) +#define BTL_ASM_COMMENT(X) #endif #if (defined __GNUC__) && (!defined __INTEL_COMPILER) @@ -169,7 +169,7 @@ class BtlConfig { public: BtlConfig() - : overwriteResults(false), checkResults(true) + : overwriteResults(false), checkResults(true), realclock(false), tries(DEFAULT_NB_TRIES) { char * _config; _config = getenv ("BTL_CONFIG"); @@ -189,6 +189,17 @@ public: i += 1; } + else if (config[i].beginsWith("-t")) + { + if (i+1==config.size()) + { + std::cerr << "error processing option: " << config[i] << "\n"; + exit(2); + } + Instance.tries = atoi(config[i+1].c_str()); + + i += 1; + } else if (config[i].beginsWith("--overwrite")) { Instance.overwriteResults = true; @@ -197,6 +208,10 @@ public: { Instance.checkResults = false; } + else if (config[i].beginsWith("--real")) + { + Instance.realclock = true; + } } } @@ -219,6 +234,8 @@ public: static BtlConfig Instance; bool overwriteResults; bool checkResults; + bool realclock; + int tries; protected: std::vector m_selectedActionNames; diff --git a/bench/btl/generic_bench/timers/portable_perf_analyzer.hh b/bench/btl/generic_bench/timers/portable_perf_analyzer.hh index 6b1f8e7d7..5c337471e 100644 --- a/bench/btl/generic_bench/timers/portable_perf_analyzer.hh +++ b/bench/btl/generic_bench/timers/portable_perf_analyzer.hh @@ -53,7 +53,7 @@ public: } // optimize - for (int i=1; i