user time vs real time
От: Quarter-123 Россия  
Дата: 12.02.20 13:48
Оценка:
Внезапно выяснилось, что замечательная функция в С clock() возвращает время собственно процесса, за вычетом простоев (что норм) и системного (что не норм)

Возникает вопрос, можно ли более менее стандартными средствами вычистить реальное и системное время, т.е. некий аналог
time -p


?
Re: user time vs real time
От: Zhendos  
Дата: 12.02.20 14:26
Оценка:
Здравствуйте, Quarter-123, Вы писали:

Q1>Внезапно выяснилось, что замечательная функция в С clock() возвращает время собственно процесса, за вычетом простоев (что норм) и системного (что не норм)


Q1>Возникает вопрос, можно ли более менее стандартными средствами вычистить реальное и системное время, т.е. некий аналог

Q1>
Q1>time -p 
Q1>


Q1>?


Смотря насколько стандартными. times(3) используемая в
https://www.gnu.org/software/time/ является частью POSIX стандарта.
Re: user time vs real time
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.02.20 15:42
Оценка:
Здравствуйте, Quarter-123, Вы писали:

Q1>?


man 2 times
Re[2]: user time vs real time
От: Quarter-123 Россия  
Дата: 12.02.20 18:18
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Quarter-123, Вы писали:


Q1>>?


Pzz>man 2 times


Спасибо,

хотя конечно, 3, а не 2.

2 таки системные вызовы.

DESCRIPTION
This interface is obsoleted by getrusage(2) and gettimeofday(2).
Re[2]: user time vs real time
От: Quarter-123 Россия  
Дата: 12.02.20 18:20
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Здравствуйте, Quarter-123, Вы писали:


Q1>>Внезапно выяснилось, что замечательная функция в С clock() возвращает время собственно процесса, за вычетом простоев (что норм) и системного (что не норм)


Q1>>Возникает вопрос, можно ли более менее стандартными средствами вычистить реальное и системное время, т.е. некий аналог

Q1>>
Q1>>time -p 
Q1>>


Q1>>?


Z>Смотря насколько стандартными. times(3) используемая в

Z>https://www.gnu.org/software/time/ является частью POSIX стандарта.

да, вроде похоже на правду, хоть апи и помечено устаревшим, но сойдёт
Re[3]: user time vs real time
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.02.20 18:35
Оценка:
Здравствуйте, Quarter-123, Вы писали:

Q1>хотя конечно, 3, а не 2.


Q1>2 таки системные вызовы.


У меня в линухе 2.
Re[4]: user time vs real time
От: Quarter-123 Россия  
Дата: 13.02.20 05:17
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Quarter-123, Вы писали:


Q1>>хотя конечно, 3, а не 2.


Q1>>2 таки системные вызовы.


Pzz>У меня в линухе 2.


Понятно, у на БСД (макось) немного по другому, впрочем не суть
Re[5]: user time vs real time
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.20 07:37
Оценка:
Здравствуйте, Quarter-123, Вы писали:

Pzz>>У меня в линухе 2.


Q1>Понятно, у на БСД (макось) немного по другому, впрочем не суть


Из Single UNIX Specification, я слышал, убрали понятие "системный вызов". В конце концов, с точки зрения пользовательского приложения нет никакой разницы, является ли та или иная функция системным вызовом, или она реализована в библиотеке. Лишь бы интерфейс был ожидаемый.
Re[6]: user time vs real time
От: Quarter-123 Россия  
Дата: 13.02.20 12:13
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Quarter-123, Вы писали:


Pzz>>>У меня в линухе 2.


Q1>>Понятно, у на БСД (макось) немного по другому, впрочем не суть


Pzz>Из Single UNIX Specification, я слышал, убрали понятие "системный вызов". В конце концов, с точки зрения пользовательского приложения нет никакой разницы, является ли та или иная функция системным вызовом, или она реализована в библиотеке. Лишь бы интерфейс был ожидаемый.



вообще работает, частично

Sleep 10 sec, iter 100000
tms_utime: 8344, tms_stime 342, tms_cutime 0, tms_cstime 0
sleep for 10 sec, 100000^2 dummy iters, 1000000 direct writes while result of measure = 8686/100 sec
real 98.88
user 83.44
sys 3.42


системное и пользовательское время соотносится с тем, что отображает time — p (8334 + 342), а вот настоящее в структуру tms не попадает.

Впрочем и фик с ним, для профилирования оно не нужно
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.