Enregistre les vitesses de transfert dans des pipes entre processus.
Le but de ce banchmark est de voir l'évolution du temps mis à transferer des données par pipe entre 2 processus. On effectue le transfert de fichiers de plus en plus gros et en enregistre le temps mis dans un fichier .csv.
158 for (j=0;j<10000;j++) {
165 }
else if (pid < 0 ) {
166 err(pid,
"erreur au fork");
172 for (j=0;j<10000;j++) {
void timer_free(timer *t)
Retourne le temps en nanosecondes depuis le début de mesure dans t
Definition: benchmark.c:172
recorder écrit les temps dans un fichier .csv
Definition: benchmark.c:208
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
int send(int size, int *fd)
Envoie un string dans un pipe.
Definition: pipe.c:50
timer permet de mesurer le temps écoulé entre deux moments
Definition: benchmark.c:43
timer * t
Definition: memfork.c:25
#define SIZE_MAX
Definition: pipe.c:17
int i
Definition: mutsem.c:43
void start_timer(timer *t)
Stoque le temps actuel comme début de la mesure dans t
Definition: benchmark.c:87
recorder * recorder_alloc(char *filename)
Alloue un recorder
Definition: benchmark.c:219
int receive(int size, int *fd)
Recois un string dans un pipe.
Definition: pipe.c:115
void recorder_free(recorder *rec)
Libère toutes les resources utilisées par rec
Definition: benchmark.c:263
timer * timer_alloc()
Alloue un timer
Definition: benchmark.c:63
int respond(int size, int *fdin, int *fdout)
Reçoit et renvoie un string dans un pipe.
Definition: pipe.c:80
long int stop_timer(timer *t)
Retourne le temps en nanosecondes depuis le début de mesure dans t
Definition: benchmark.c:133