added efficienty computation

This commit is contained in:
Caner Candan 2010-11-22 14:07:47 +01:00
commit cb8e6ab1c3
2 changed files with 29 additions and 13 deletions

View file

@ -1,11 +1,14 @@
#!/usr/bin/env python
from pylab import *
import pylab
import sys
DEFAULT_RESULTS_NAME = 'results.txt'
if __name__ == '__main__':
boxplot( [ [ float(value) for value in line.split() ] for line in open( DEFAULT_RESULTS_NAME if len(sys.argv) < 2 else sys.argv[1] ).readlines() ] )
#show()
savefig( sys.argv[1] + ".png" )
if len(sys.argv) < 3:
print 'Usage: boxplot.py [Results files, ...] [output file in .png]'
sys.exit()
for i in range(1, len(sys.argv) - 1):
pylab.boxplot( [ [ float(value) for value in line.split() ] for line in open( sys.argv[i] ).readlines() ] )
pylab.savefig( sys.argv[ len(sys.argv) - 1 ] )

View file

@ -39,10 +39,11 @@ int main(int ac, char** av)
unsigned int nRun = parser.getORcreateParam((unsigned int)100, "nRun", "Number of runs", 'r', "Evolution Engine").value();
std::string resultsFileName = parser.getORcreateParam(std::string("results.txt"), "resultsFileName", "Results file name", 0, "Evolution Engine").value();
double threshold = parser.getORcreateParam((double)3.0, "threshold", "Threshold of max speedup", 0, "Evolution Engine").value();
std::string speedupFileName = parser.getORcreateParam(std::string("speedup"), "speedupFileName", "Speedup file name", 0, "Results").value();
std::string efficiencyFileName = parser.getORcreateParam(std::string("efficiency"), "efficiencyFileName", "Efficiency file name", 0, "Results").value();
uint32_t seedParam = parser.getORcreateParam((uint32_t)0, "seed", "Random number seed", 0).value();
if (seedParam == 0) { seedParam = time(0); }
@ -62,9 +63,18 @@ int main(int ac, char** av)
eoUniformGenerator< double > gen(-5, 5);
std::ostringstream ss;
ss << resultsFileName << "-p" << popMin << "-P" << popMax << "-d" << dimMin << "-D" << dimMax << "-r" << nRun << "-t" << threshold << "-s" << seedParam;
std::ofstream resultsFile( ss.str().c_str() );
std::ostringstream params;
params << "-p" << popMin << "-P" << popMax << "-d" << dimMin << "-D" << dimMax << "-r" << nRun << "-t" << threshold << "-s" << seedParam;
std::ofstream speedupFile( std::string( speedupFileName + params.str() ).c_str() );
std::ofstream efficiencyFile( std::string( efficiencyFileName + params.str() ).c_str() );
size_t nbtask = 1;
#pragma omp parallel
{
nbtask = omp_get_num_threads();
}
eo::log << eo::logging << "Nb task: " << nbtask << std::endl;
for ( size_t p = popMin; p <= popMax; p += popStep )
{
@ -99,15 +109,18 @@ int main(int ac, char** av)
if ( ( Ts / Tp ) > threshold ) { continue; }
resultsFile << Ts / Tp << ' ';
speedupFile << Ts / Tp << ' ';
efficiencyFile << Ts / ( nbtask * Tp );
eo::log << eo::debug;
eo::log << "Ts = " << Ts << std::endl;
eo::log << "Tp = " << Tp << std::endl;
eo::log << "S_p = " << Ts / Tp << std::endl;
eo::log << "E_p = " << Ts / ( nbtask * Tp ) << std::endl;
} // end of runs
resultsFile << std::endl;
speedupFile << std::endl;
efficiencyFile << std::endl;
} // end of dimension