Как инструменты тестирования файловой системы измеряют время?
Я хочу измерить время выполнения определенного системного вызова, например, я хочу знать pread
нужно сколько времени и на CPU и на ввод / вывод.
Какую функцию я должен использовать?
Сейчас пользуюсьtimes
и это работает.
gettimeofday
получить текущее время, и это может не просто рассчитать время выполнения конкретного процесса, верно?
clock
возвращает время ЦП, используемое этой программой до сих пор, включает ли это время ввода-вывода? Если будут запущены другие программы, повлияет ли это на время этой функции? Я имею в виду что-то вроде переключения запущенного процесса.
getrusage
кажется идеальным, но он также возвращает CPU
время конкретного процесса.
Кто-нибудь знает, как вычисляют эталонные инструменты типа iozone? system calls
время? Я прочитал его код и до сих пор понятия не имею.