¿Cómo medir el tiempo de llamada de la tubería en milisegundos?

Quiero ver la hora de mi llamada al sistema del programa de tuberías. Necesito medirlo para analizar los resultados. ¿Como puedo medir el tiempo de llamada del sistema en milisegundos?

Por ejemplo, este es un programa de tubería simple:

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/timeb.h>
#include <time.h>

void main() {

    FILE *read_fp;
    char buffer[10];
    int cnt;

    memset(buffer,'\0',sizeof(buffer));
    read_fp=popen("uname -a","|");

    if (read_fp!=NULL) {
        cnt=fread(buffer,sizeof(char),9,read_fp);
        if (cnt>0) printf(buffer,"olololo");
            pclose(read_fp);
    }
}

¿Y cuál es la razón de las diferencias de tiempo, ejecutándola más de 4 veces? ¿Cuál es la razón del tiempo "saltos"?

Respuestas a la pregunta(0)

Su respuesta a la pregunta