Go to the source code of this file.
long int get_overhead |
( |
| ) |
|
void update_overhead()
Mets à jours l'overhead
Definition: benchmark.c:191
volatile long int overhead
Temps nécessaire pour effectuer start_timer et stop_timer sans rien faire entre.
Definition: benchmark.c:187
recorder* recorder_alloc |
( |
char * |
filename | ) |
|
Alloue un recorder
Les données seront écrites dans le fichier filename
. En cas d'erreur, il exit
avec EXIT_FAILURE
.
225 rec->
output = fopen(filename,
"w");
226 if (rec->
output == NULL) {
recorder écrit les temps dans un fichier .csv
Definition: benchmark.c:208
long int get_overhead()
Definition: benchmark.c:198
long int overhead
Definition: benchmark.c:210
FILE * output
Definition: benchmark.c:209
Libère toutes les resources utilisées par rec
- Parameters
-
rec | le recorder auquel il faut libérer les resources |
FILE * output
Definition: benchmark.c:209
void start_timer |
( |
timer * |
t | ) |
|
Stoque le temps actuel comme début de la mesure dans t
- Parameters
-
t | Le temps dans lequel on stoque le temps de début |
En cas d'erreur, affiche un message sur stderr
et exit
88 #if defined(BM_USE_CLOCK_GETTIME)
89 if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t->
start)) {
90 perror(
"clock_gettime");
93 #elif defined(BM_USE_CLOCK_GETTIME_RT)
94 if (clock_gettime(CLOCK_REALTIME, &t->
start)) {
95 perror(
"clock_gettime");
98 #elif defined(BM_USE_CLOCK)
100 if (t->
start == (clock_t) -1) {
104 #elif defined(BM_USE_TIMES)
105 if (times(&t->
start) == -1) {
110 gettimeofday(&t->
start, NULL);
struct timeval start
Definition: benchmark.c:52
long int stop_timer |
( |
timer * |
t | ) |
|
Retourne le temps en nanosecondes depuis le début de mesure dans t
- Parameters
-
t | Le temps dans lequel on a stoqué le temps de début |
En cas d'erreur, affiche un message sur stderr
et exit
135 #if defined(BM_USE_CLOCK_GETTIME) || defined(BM_USE_CLOCK_GETTIME_RT)
138 if (clock_gettime(CLOCK_REALTIME, &end)) {
139 perror(
"clock_gettime");
143 #elif defined(BM_USE_CLOCK)
144 clock_t end = clock();
145 if (end == (clock_t) -1) {
150 #elif defined(BM_USE_TIMES)
152 if (times(&end) == -1) {
159 gettimeofday(&end, NULL);
#define GTOD_TO_NSEC(time_gtod)
Definition: benchmark.c:123
#define CLOCK_TO_NSEC(time_clock)
Definition: benchmark.c:119
#define GETTIME_TO_NSEC(time_gettime)
Definition: benchmark.c:117
#define TIMES_TO_NSEC(time_times)
Definition: benchmark.c:121
struct timeval start
Definition: benchmark.c:52
Alloue un timer
En cas de succès, retourne un timer
, en cas d'erreur, affiche un message sur stderr
et exit
69 #if defined(BM_USE_TIMES)
70 t->clock_ticks = sysconf(_SC_CLK_TCK);
71 if (t->clock_ticks == -1) {
timer permet de mesurer le temps écoulé entre deux moments
Definition: benchmark.c:43
timer * t
Definition: memfork.c:25
void timer_free |
( |
timer * |
t | ) |
|
Retourne le temps en nanosecondes depuis le début de mesure dans t
- Parameters
-
t | Le temps dans lequel on a stoqué le temps de début |
En cas d'erreur, affiche un message sur stderr
et exit
Mets à jours l'overhead
196 printf(
"overhead updated: %ld\n",
overhead);
void timer_free(timer *t)
Retourne le temps en nanosecondes depuis le début de mesure dans t
Definition: benchmark.c:172
timer permet de mesurer le temps écoulé entre deux moments
Definition: benchmark.c:43
timer * t
Definition: memfork.c:25
void start_timer(timer *t)
Stoque le temps actuel comme début de la mesure dans t
Definition: benchmark.c:87
volatile long int overhead
Temps nécessaire pour effectuer start_timer et stop_timer sans rien faire entre.
Definition: benchmark.c:187
timer * timer_alloc()
Alloue un timer
Definition: benchmark.c:63
long int stop_timer(timer *t)
Retourne le temps en nanosecondes depuis le début de mesure dans t
Definition: benchmark.c:133
void write_record |
( |
recorder * |
rec, |
|
|
long int |
x, |
|
|
long int |
time |
|
) |
| |
Écris le temps time
en correspondance avec x
L'overhead
est d'abord retiré de time
En cas d'erreur, il exit
avec EXIT_FAILURE
- Parameters
-
rec | le recorder dans lequel écrire, il est supposé non-NULL |
x | l'abscisse |
time | le temps à écrire en ordonnée |
void write_record_n(recorder *rec, long int x, long int time, long n)
Comme write_record mais divise time par n après avoir retiré l'overhead
Definition: benchmark.c:253
void write_record_n |
( |
recorder * |
rec, |
|
|
long int |
x, |
|
|
long int |
time, |
|
|
long |
n |
|
) |
| |
Comme write_record
mais divise time
par n
après avoir retiré l'overhead
254 fprintf(rec->
output,
"%ld, %ld\n", x, (time - rec->
overhead) / n);
long int overhead
Definition: benchmark.c:210
FILE * output
Definition: benchmark.c:209