diff --git a/src/Benchmarks/SpMV/tnl-benchmark-spmv.h b/src/Benchmarks/SpMV/tnl-benchmark-spmv.h index c04be9b2d332c6ca4b4b22538ea76230d5255632..133d4607d53d314c199c15c89c574a8322ae5797 100644 --- a/src/Benchmarks/SpMV/tnl-benchmark-spmv.h +++ b/src/Benchmarks/SpMV/tnl-benchmark-spmv.h @@ -24,6 +24,8 @@ #include <TNL/Matrices/MatrixReader.h> using namespace TNL::Matrices; +#include <ctime> // Used for file naming, so logs don't get overwritten. + using namespace TNL; using namespace TNL::Benchmarks; @@ -47,7 +49,19 @@ setupConfig( Config::ConfigDescription & config ) { config.addDelimiter( "Benchmark settings:" ); config.addRequiredEntry< String >( "input-file", "Input file name." ); - config.addEntry< String >( "log-file", "Log file name.", "tnl-benchmark-spmv.log"); + + //////////////// + //https://stackoverflow.com/questions/16357999/current-date-and-time-as-string + time_t rawtime; + struct tm * timeinfo; + char buffer[80]; + time (&rawtime); + timeinfo = localtime(&rawtime); + strftime(buffer,sizeof(buffer),"%d-%m-%Y--%H:%M:%S",timeinfo); + std::string str(buffer); + //////////////// + config.addEntry< String >( "log-file", "Log file name.", "tnl-benchmark-spmv::" + str + ".log"); + config.addEntry< String >( "output-mode", "Mode for opening the log file.", "overwrite" ); config.addEntryEnum( "append" ); config.addEntryEnum( "overwrite" );