[lin\win] Получить процессорое время

geja_03

затраченное процессом, как? Интересуют как внешние так и внутренние способы )

Serab

Какие сложности с изучением документации?

procenkotanya

Откуда? Из самого процесса?
Если точность не сильно важна, то clock
Ещё getrusage есть

geja_03

clock не подойдет, нужно чистое процессорное время.
getrusage - линукс онли.

Serab

getrusage - линукс онли.
а в чем проблема написать нормальный бридж?
Не все же проблемы кроссплатформенности можно решить использованием стандартной библиотеки и POSIX-функций.

procenkotanya

а, точно, ещё один пример того, как в m$ не читают стандарты

geja_03

а в чем проблема написать нормальный бридж?
Не все же проблемы кроссплатформенности можно решить использованием стандартной библиотеки и POSIX-функций.
Я к тому, что может велосипед уже изобретен и под виндовс..

geja_03

Вот ведь парадокс. Запускаю один процесс getrusage насчитывет

Time1: 0.000999
Time2: 0.032994
Time3: 3.531463

Больше одного:

Time1: 0.001999
Time2: 0.055991
Time3: 6.527007
Time1: 0.001999
Time2: 0.055991
Time3: 6.506010
Time1: 0.001999
Time2: 0.053991
Time3: 6.485014
Time1: 0.001999
Time2: 0.050992
Time3: 6.511010
Time1: 0.001999
Time2: 0.052991
Time3: 6.502011
Time1: 0.001999
Time2: 0.055991
Time3: 6.523008
Time1: 0.001999
Time2: 0.052991
Time3: 6.479015
Time1: 0.001999
Time2: 0.052991
Time3: 6.518009
Time1: 0.000999
Time2: 0.042993
Time3: 6.354034
Time1: 0.001999
Time2: 0.057991
Time3: 6.488013

Машина P4 с HT

procenkotanya

Даже не зная, что ты там тестируешь, можно предположить возможные объяснения.
При росте количества процессов:
1) меньше пропускная способность памяти на процесс
2) меньше размер кеша/больше промахов кеша на процесс

oliver11

В винде: GetProcessTimes

procenkotanya

> Машина P4 с HT
Ох, что-то я ступил в предыдущем посте. Естественно же, что на HT так и будет.

geja_03

Это умножение матриц. Дело в том, что для любого кол-ва процессов больше двух, время 6.5 сек. Для одного - 3.5

geja_03

Кстати, на реальных ядрах эффект тоже наблюдается, только в меньшей степени...

tokuchu

Это умножение матриц. Дело в том, что для любого кол-ва процессов больше двух, время 6.5 сек. Для одного - 3.5
Ну тебе могут ещё раз повторить про HT в ответ на это.
Отключи HT и будет по 3.5 секунды для любого числа процессов.
Оставить комментарий
Имя или ник:
Комментарий: