Получить информацию о затратах времени
#include <sys/times.h>clock_t times( struct tms *buffer );
libc
Функция times() сохраняет информацию о временах работы CPU в структуру, на которую указывает buffer.
Все времена представлены в CLK_TCK
долях секунды. Значение CLK_TCK
определено в заголовочном файле <time.h>
. Значение CLK_TCK
определяется как:
#define sysconf( _SC_CLK_TCK )
Время завершения дочернего процесса включается в значения tms_cutime и tms_cstime родительского процесса, если функция a wait() или waitpid() возвращает идентификатор завершенного дочернего процесса. Если дочерний процесс не дождался завершения своих процессов потомков, в его время не включается затраченно время потомков.
Время работы ядра (uptime) в тактах. Тип clock_t определен в заголовочном файле <sys/times.h>
.
/** Эта программа выполняет программу, указанную* в argv[1]. Когда дочерняя программа завершится,* будет выведена статичтика использования CPU.*/#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/times.h>int main( int argc, char **argv ){struct tms childtim;system( argv[1] );times( &childtim );printf( "system time = %d\n", childtim.tms_cstime );printf( "user time = %d\n", childtim.tms_cutime );return (EXIT_SUCCESS);}
POSIX 1003.1
clock_t, struct tms, clock_gettime()
Предыдущий раздел: Описание API системной библиотеки