Добрый вечер, коллеги!
Нужно посчитать время чтения и время записи одинакого размера блока данных на диск.
Причем, время момента, когда данные окажутся на диске, т.е. после сброса кэша. Как после sync
char * mem = (char *)malloc(409600)
FILE * f = fopen("/dev/sda", "rb");
double dt = get_time_func()
fread(mem, 1, 409600, f);
fclose(f);
printf("Время чтения: %f\n", get_time_func() - dt);
f = fopen("/dev/sda", "wb");
fseek(f, 0, SEEK_SET);
dt = get_time_func()
fwrite(mem, 1, 409600, f);
fclose(f);
printf("Время записи: %f\n", get_time_func() - dt);
Я правильно понимаю, что fclose(f) закрывает файловый дескриптор f после того как данные записаны на диск?
Если да, то нужна функция get_time_func(). clock не подходит.