times()

Получить информацию о затратах времени

Прототип:

#include <sys/times.h>
clock_t times( struct tms *buffer );

Аргументы:

buffer
Указатель на структуру struct tms, в которой функция сохранит информацию о временах работы ЦПУ (CPU).

Библиотека:

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>.


Note: Возвращаемое значение может превысить возможный диапазон типа clock_t.

Примеры:

/*
* Эта программа выполняет программу, указанную
* в 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 системной библиотеки