[Compbench-devel] CompBenchmarks++/Benchmark Benchmark-BENCHPP.cpp, 1.3, 1.4 Benchmark-BENCHPP.h, 1
Brought to you by:
xfred
From: Frederic T. <xf...@us...> - 2006-09-28 17:52:49
|
Update of /cvsroot/compbench/CompBenchmarks++/Benchmark In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23321 Modified Files: Benchmark-BENCHPP.cpp Benchmark-BENCHPP.h Benchmark-Selector.cpp Log Message: Stepanov AL12 support. Index: Benchmark-BENCHPP.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/Benchmark/Benchmark-BENCHPP.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Benchmark-BENCHPP.cpp 25 Sep 2006 15:38:48 -0000 1.3 --- Benchmark-BENCHPP.cpp 28 Sep 2006 17:52:45 -0000 1.4 *************** *** 148,151 **** --- 148,152 ---- cmd+="\n"; cmd+=_currentOptions->Options(); + cmd+=" -DHAS_BOOL"; cmd+="\n\n\n\""; cmd+=" | ./Configure"; *************** *** 163,167 **** cmd+=" && "; cmd+=CBM_PROG_MAKE; ! cmd+=" a000091 a000092 "; if (language()=="C") { --- 164,168 ---- cmd+=" && "; cmd+=CBM_PROG_MAKE; ! cmd+=" a000091 a000092 s000005a s000005m "; if (language()=="C") { *************** *** 179,183 **** } else { if (language()=="C++") { ! cmd+="CXXFLAGS="; } else { /* !!! */ --- 180,184 ---- } else { if (language()=="C++") { ! cmd+=" CXXFLAGS="; } else { /* !!! */ *************** *** 207,211 **** cmd+=" -f2 -d':')"; - if (system->exec(cmd, result)==0) { return(result); --- 208,211 ---- *************** *** 301,302 **** --- 301,358 ---- { } + + + CBMBenchmarkBENCHPP_STEPANOV::CBMBenchmarkBENCHPP_STEPANOV(CBMSystem *_system) + : CBMBenchmarkBENCHPP(_system) + { + } + + std::string CBMBenchmarkBENCHPP_STEPANOV::bench(void) + { + std::string cmd; + std::string result; + + cmd="cd "; + cmd+=localPackageAbsoluteDirectory(); + cmd+=" && echo $(./"; + cmd+=benchppBenchmark(); + cmd+=" | "; + cmd+=CBM_PROG_GREP; + cmd+=" 'Iteration Count' | "; + cmd+=CBM_PROG_CUT; + cmd+=" -f3 -d':')"; + + if (system->exec(cmd, result)==0) { + return(result); + } else { + return("0"); + } + } + + CBMBenchmarkBENCHPP_STEPANOV::~CBMBenchmarkBENCHPP_STEPANOV() + { + } + + CBMBenchmarkBENCHPP_STEPANOV_AL12::CBMBenchmarkBENCHPP_STEPANOV_AL12(CBMSystem *_system) + : CBMBenchmarkBENCHPP_STEPANOV(_system) + { + } + + std::string CBMBenchmarkBENCHPP_STEPANOV_AL12::benchmarkName(void) + { + return("benchpp-stepanov-al12"); + } + + std::string CBMBenchmarkBENCHPP_STEPANOV_AL12::benchppBenchmark(void) + { + return("s000005a"); + } + + std::string CBMBenchmarkBENCHPP_STEPANOV_AL12::benchmarkBENCHPPComments(void) + { + return("Stepanov AL-12 benchmark. Measures C++ overhead in a code which extensively uses abstraction."); + } + + CBMBenchmarkBENCHPP_STEPANOV_AL12::~CBMBenchmarkBENCHPP_STEPANOV_AL12() + { + } Index: Benchmark-Selector.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/Benchmark/Benchmark-Selector.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Benchmark-Selector.cpp 19 Sep 2006 15:38:46 -0000 1.1 --- Benchmark-Selector.cpp 28 Sep 2006 17:52:45 -0000 1.2 *************** *** 92,95 **** --- 92,99 ---- } + if (tmp=="benchpp-stefanov-al12") { + return(new CBMBenchmarkBENCHPP_STEPANOV_AL12(system)); + } + tmp="Unknown benchmark '"; tmp+=benchmarkName; *************** *** 99,126 **** } void CBMBenchmarkSelector::displayList(void) { ! CBMBenchmarkGZIP1 gzip1(system); ! CBMBenchmarkGZIP9 gzip9(system); ! CBMBenchmarkNBENCH_NUMSORT nbench_numsort(system); ! CBMBenchmarkNBENCH_STRINGSORT nbench_stringsort(system); ! CBMBenchmarkNBENCH_BITFIELD nbench_bitfield(system); ! CBMBenchmarkNBENCH_EMF nbench_emf(system); ! CBMBenchmarkNBENCH_FOURIER nbench_fourier(system); ! CBMBenchmarkNBENCH_ASSIGN nbench_assign(system); ! CBMBenchmarkNBENCH_HUFFMAN nbench_huffman(system); ! CBMBenchmarkNBENCH_IDEA nbench_idea(system); ! CBMBenchmarkNBENCH_NNET nbench_nnet(system); ! CBMBenchmarkNBENCH_LU nbench_lu(system); ! CBMBenchmarkSCIMARK2_FOURIER scimark2_fourier(system); ! CBMBenchmarkSCIMARK2_SOR scimark2_sor(system); ! CBMBenchmarkSCIMARK2_MC scimark2_mc(system); ! CBMBenchmarkSCIMARK2_SMM scimark2_smm(system); ! CBMBenchmarkSCIMARK2_LU scimark2_lu(system); ! CBMBenchmarkBENCHPP_DHRYSTONE benchpp_dry(system); ! CBMBenchmarkBENCHPP_WHETSTONE benchpp_wet(system); gzip1.display(); --- 103,132 ---- } + void CBMBenchmarkSelector::displayList(void) { ! CBMBenchmarkGZIP1 gzip1(system); ! CBMBenchmarkGZIP9 gzip9(system); ! CBMBenchmarkNBENCH_NUMSORT nbench_numsort(system); ! CBMBenchmarkNBENCH_STRINGSORT nbench_stringsort(system); ! CBMBenchmarkNBENCH_BITFIELD nbench_bitfield(system); ! CBMBenchmarkNBENCH_EMF nbench_emf(system); ! CBMBenchmarkNBENCH_FOURIER nbench_fourier(system); ! CBMBenchmarkNBENCH_ASSIGN nbench_assign(system); ! CBMBenchmarkNBENCH_HUFFMAN nbench_huffman(system); ! CBMBenchmarkNBENCH_IDEA nbench_idea(system); ! CBMBenchmarkNBENCH_NNET nbench_nnet(system); ! CBMBenchmarkNBENCH_LU nbench_lu(system); ! CBMBenchmarkSCIMARK2_FOURIER scimark2_fourier(system); ! CBMBenchmarkSCIMARK2_SOR scimark2_sor(system); ! CBMBenchmarkSCIMARK2_MC scimark2_mc(system); ! CBMBenchmarkSCIMARK2_SMM scimark2_smm(system); ! CBMBenchmarkSCIMARK2_LU scimark2_lu(system); ! CBMBenchmarkBENCHPP_DHRYSTONE benchpp_dry(system); ! CBMBenchmarkBENCHPP_WHETSTONE benchpp_wet(system); ! CBMBenchmarkBENCHPP_STEPANOV_AL12 benchpp_ste_al12(system); gzip1.display(); *************** *** 146,149 **** --- 152,156 ---- benchpp_dry.display(); benchpp_wet.display(); + benchpp_ste_al12.display(); } Index: Benchmark-BENCHPP.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/Benchmark/Benchmark-BENCHPP.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Benchmark-BENCHPP.h 19 Sep 2006 17:09:35 -0000 1.2 --- Benchmark-BENCHPP.h 28 Sep 2006 17:52:45 -0000 1.3 *************** *** 95,97 **** --- 95,122 ---- }; + /** \brief Defines base stuff for stephanov benchmarks within benchpp package. + */ + class CBMBenchmarkBENCHPP_STEPANOV : public CBMBenchmarkBENCHPP + { + protected: + virtual std::string bench(void); + public: + CBMBenchmarkBENCHPP_STEPANOV(class CBMSystem *_system); + virtual ~CBMBenchmarkBENCHPP_STEPANOV(); + }; + + /** \brief Defines the stephanov-al12 benchmark within benchpp package. + */ + class CBMBenchmarkBENCHPP_STEPANOV_AL12 : public CBMBenchmarkBENCHPP_STEPANOV + { + protected: + virtual std::string benchmarkName(void); + virtual std::string benchmarkBENCHPPComments(void); + + virtual std::string benchppBenchmark(void); + public: + CBMBenchmarkBENCHPP_STEPANOV_AL12(class CBMSystem *_system); + virtual ~CBMBenchmarkBENCHPP_STEPANOV_AL12(); + }; + #endif |