Loading src/Benchmarks/Benchmark.hpp +21 −13 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ Benchmark( int loops, bool verbose, String outputMode, bool logFileAppend ) : Logger(verbose, outputMode, logFileAppend), loops(loops) : logger(verbose, outputMode, logFileAppend), loops(loops) {} template< typename Logger > Loading @@ -52,7 +52,7 @@ setup( const Config::ParameterContainer& parameters ) this->reset = parameters.getParameter< bool >( "reset" ); this->minTime = parameters.getParameter< double >( "min-time" ); const int verbose = parameters.getParameter< int >( "verbose" ); Logger::setVerbose( verbose ); logger.setVerbose( verbose ); } template< typename Logger > Loading @@ -76,8 +76,8 @@ void Benchmark< Logger >:: newBenchmark( const String & title ) { Logger::closeTable(); Logger::writeTitle( title ); logger.closeTable(); logger.writeTitle( title ); } template< typename Logger > Loading @@ -86,13 +86,13 @@ Benchmark< Logger >:: newBenchmark( const String & title, MetadataMap metadata ) { Logger::closeTable(); Logger::writeTitle( title ); logger.closeTable(); logger.writeTitle( title ); // add loops and reset flag to metadata metadata["loops"] = convertToString(loops); metadata["reset"] = convertToString( reset ); metadata["minimal test time"] = convertToString( minTime ); Logger::writeMetadata( metadata ); logger.writeMetadata( metadata ); } template< typename Logger > Loading @@ -100,7 +100,7 @@ void Benchmark< Logger >:: setMetadataColumns( const MetadataColumns & metadata ) { Logger::setMetadataColumns( metadata ); logger.setMetadataColumns( metadata ); } template< typename Logger > Loading @@ -108,7 +108,7 @@ void Benchmark< Logger >:: setMetadataElement( const typename MetadataColumns::value_type & element ) { Logger::setMetadataElement( element ); logger.setMetadataElement( element ); } template< typename Logger > Loading @@ -129,7 +129,7 @@ setOperation( const String & operation, const double baseTime ) { monitor.setStage( operation.getString() ); Logger::setMetadataElement( {"operation", operation}, 0 ); logger.setMetadataElement( {"operation", operation}, 0 ); setDatasetSize( datasetSize, baseTime ); } Loading @@ -150,7 +150,7 @@ time( ResetFunction reset, // run the monitor main loop Solvers::SolverMonitorThread monitor_thread( monitor ); if( Logger::verbose <= 1 ) if( logger.getVerbose() <= 1 ) // stop the main loop when not verbose monitor.stopMainLoop(); Loading @@ -170,7 +170,7 @@ time( ResetFunction reset, if( this->baseTime == 0.0 ) this->baseTime = result.time; Logger::logResult( performer, result.getTableHeader(), result.getRowElements(), result.getColumnWidthHints() ); logger.logResult( performer, result.getTableHeader(), result.getRowElements(), result.getColumnWidthHints() ); return this->baseTime; } Loading Loading @@ -219,10 +219,18 @@ void Benchmark< Logger >:: addErrorMessage( const char* msg ) { Logger::writeErrorMessage( msg ); logger.writeErrorMessage( msg ); std::cerr << msg << std::endl; } template< typename Logger > bool Benchmark< Logger >:: save( std::ostream& logFile ) { return logger.save( logFile ); } template< typename Logger > auto Benchmark< Logger >:: Loading src/Benchmarks/Benchmarks.h +5 −5 Original line number Diff line number Diff line Loading @@ -66,12 +66,11 @@ struct BenchmarkResult template< typename Logger = CustomLogging > class Benchmark : protected Logger { public: using typename Logger::MetadataElement; using typename Logger::MetadataMap; using typename Logger::MetadataColumns; using MetadataElement = typename Logger::MetadataElement; using MetadataMap = typename Logger::MetadataMap; using MetadataColumns = typename Logger::MetadataColumns; using SolverMonitorType = Solvers::IterativeSolverMonitor< double, int >; Benchmark( int loops = 10, Loading Loading @@ -161,7 +160,7 @@ class Benchmark // "time" method could not be called (e.g. due to failed allocation). void addErrorMessage( const char* msg ); using Logger::save; bool save( std::ostream& logFile ); SolverMonitorType& getMonitor(); Loading @@ -170,6 +169,7 @@ class Benchmark bool isResetingOn() const; protected: Logger logger; int loops = 1, performedLoops = 0; Loading Loading
src/Benchmarks/Benchmark.hpp +21 −13 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ Benchmark( int loops, bool verbose, String outputMode, bool logFileAppend ) : Logger(verbose, outputMode, logFileAppend), loops(loops) : logger(verbose, outputMode, logFileAppend), loops(loops) {} template< typename Logger > Loading @@ -52,7 +52,7 @@ setup( const Config::ParameterContainer& parameters ) this->reset = parameters.getParameter< bool >( "reset" ); this->minTime = parameters.getParameter< double >( "min-time" ); const int verbose = parameters.getParameter< int >( "verbose" ); Logger::setVerbose( verbose ); logger.setVerbose( verbose ); } template< typename Logger > Loading @@ -76,8 +76,8 @@ void Benchmark< Logger >:: newBenchmark( const String & title ) { Logger::closeTable(); Logger::writeTitle( title ); logger.closeTable(); logger.writeTitle( title ); } template< typename Logger > Loading @@ -86,13 +86,13 @@ Benchmark< Logger >:: newBenchmark( const String & title, MetadataMap metadata ) { Logger::closeTable(); Logger::writeTitle( title ); logger.closeTable(); logger.writeTitle( title ); // add loops and reset flag to metadata metadata["loops"] = convertToString(loops); metadata["reset"] = convertToString( reset ); metadata["minimal test time"] = convertToString( minTime ); Logger::writeMetadata( metadata ); logger.writeMetadata( metadata ); } template< typename Logger > Loading @@ -100,7 +100,7 @@ void Benchmark< Logger >:: setMetadataColumns( const MetadataColumns & metadata ) { Logger::setMetadataColumns( metadata ); logger.setMetadataColumns( metadata ); } template< typename Logger > Loading @@ -108,7 +108,7 @@ void Benchmark< Logger >:: setMetadataElement( const typename MetadataColumns::value_type & element ) { Logger::setMetadataElement( element ); logger.setMetadataElement( element ); } template< typename Logger > Loading @@ -129,7 +129,7 @@ setOperation( const String & operation, const double baseTime ) { monitor.setStage( operation.getString() ); Logger::setMetadataElement( {"operation", operation}, 0 ); logger.setMetadataElement( {"operation", operation}, 0 ); setDatasetSize( datasetSize, baseTime ); } Loading @@ -150,7 +150,7 @@ time( ResetFunction reset, // run the monitor main loop Solvers::SolverMonitorThread monitor_thread( monitor ); if( Logger::verbose <= 1 ) if( logger.getVerbose() <= 1 ) // stop the main loop when not verbose monitor.stopMainLoop(); Loading @@ -170,7 +170,7 @@ time( ResetFunction reset, if( this->baseTime == 0.0 ) this->baseTime = result.time; Logger::logResult( performer, result.getTableHeader(), result.getRowElements(), result.getColumnWidthHints() ); logger.logResult( performer, result.getTableHeader(), result.getRowElements(), result.getColumnWidthHints() ); return this->baseTime; } Loading Loading @@ -219,10 +219,18 @@ void Benchmark< Logger >:: addErrorMessage( const char* msg ) { Logger::writeErrorMessage( msg ); logger.writeErrorMessage( msg ); std::cerr << msg << std::endl; } template< typename Logger > bool Benchmark< Logger >:: save( std::ostream& logFile ) { return logger.save( logFile ); } template< typename Logger > auto Benchmark< Logger >:: Loading
src/Benchmarks/Benchmarks.h +5 −5 Original line number Diff line number Diff line Loading @@ -66,12 +66,11 @@ struct BenchmarkResult template< typename Logger = CustomLogging > class Benchmark : protected Logger { public: using typename Logger::MetadataElement; using typename Logger::MetadataMap; using typename Logger::MetadataColumns; using MetadataElement = typename Logger::MetadataElement; using MetadataMap = typename Logger::MetadataMap; using MetadataColumns = typename Logger::MetadataColumns; using SolverMonitorType = Solvers::IterativeSolverMonitor< double, int >; Benchmark( int loops = 10, Loading Loading @@ -161,7 +160,7 @@ class Benchmark // "time" method could not be called (e.g. due to failed allocation). void addErrorMessage( const char* msg ); using Logger::save; bool save( std::ostream& logFile ); SolverMonitorType& getMonitor(); Loading @@ -170,6 +169,7 @@ class Benchmark bool isResetingOn() const; protected: Logger logger; int loops = 1, performedLoops = 0; Loading