1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
///Get the number of cycles per elements of the moveParticle function
/** @param nbElement : number of elements of the tables
* @param nbRepetition : number of repetition to evaluate the function moveParticle
*/
void evaluateMoveParticle(long unsigned int nbElement, long unsigned int nbRepetition){
TableParticle tp;
allocTableParticle(tp, nbElement);
initTableParticle(tp);
long unsigned int beginTime(rdtsc());
for(long unsigned int i(0lu); i < nbRepetition; ++i){
moveParticle(tp, 0.005f);
}
long unsigned int elapsedTime((double)(rdtsc() - beginTime)/((double)nbRepetition));
double cyclePerElement(((double)elapsedTime)/((double)nbElement));
cout << "evaluateMoveParticle : nbElement = "<<nbElement<<", cyclePerElement = " << cyclePerElement << " cy/el, elapsedTime = " << elapsedTime << " cy" << endl;
cerr << nbElement << "\t" << cyclePerElement << "\t" << elapsedTime << endl;
freeTableParticle(tp);
}
|