GNT sans publicité, site mobile, fonctionnalitées exclusives...

clock() et threads

Le
JKB
Bonjour à tous,

Je cherche depuis ce matin une information que je n'arrive pas à
trouver. Pourtant, ça doit être trivial.

J'ai une fonction qui utilise getrusage() et qui n'est pas implanté
sur un système cible. Je suis en train de la remplacer par des
clock() mais j'ai un énorme doute. La doc de clock() me parle
d'estimation du temps CPU pour le programme. Dans le cas d'un
programme multithreadé, est-ce qu'on entend le temps CPU consommé
par le groupe de threads ou par le thread seul ? J'aurais tendance à
penser qu'il s'agit du groupe de thread, mais ma doc n'est vraiment
pas claire

Cordialement,

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse
=> http://grincheux.de-charybde-en-scylla.fr
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Lucas Levrel
Le #23862951
Le 13 octobre 2011, JKB a écrit :

J'ai une fonction qui utilise getrusage() et qui n'est pas implanté
sur un système cible. Je suis en train de la remplacer par des
clock() mais j'ai un énorme doute. La doc de clock() me parle
d'estimation du temps CPU pour le programme. Dans le cas d'un
programme multithreadé, est-ce qu'on entend le temps CPU consommé
par le groupe de threads ou par le thread seul ? J'aurais tendance à
penser qu'il s'agit du groupe de thread, mais ma doc n'est vraiment
pas claire...



Tu n'as pas clock_gettime() ? Là tu peux choisir.

Je suppose que tu veux le temps par thread, sinon il y a times()...

--
LL
talon
Le #23863181
JKB
Bonjour à tous,

Je cherche depuis ce matin une information que je n'arrive pas à
trouver. Pourtant, ça doit être trivial.

J'ai une fonction qui utilise getrusage() et qui n'est pas implanté
sur un système cible. Je suis en train de la remplacer par des
clock() mais j'ai un énorme doute. La doc de clock() me parle
d'estimation du temps CPU pour le programme. Dans le cas d'un
programme multithreadé, est-ce qu'on entend le temps CPU consommé
par le groupe de threads ou par le thread seul ? J'aurais tendance à
penser qu'il s'agit du groupe de thread, mais ma doc n'est vraiment
pas claire...

Cordialement,

JKB




Selon la page man de FreeBSD
DESCRIPTION
The clock() function determines the amount of processor time used
since the invocation of the calling process, measured in CLOCKS_PER_SECs
of a second.

ce qui dit clairement qu'il s'agit de processus et non de thread.



--

Michel TALON
JKB
Le #23863751
Le Thu, 13 Oct 2011 14:41:03 +0200,
Lucas Levrel
Le 13 octobre 2011, JKB a écrit :

J'ai une fonction qui utilise getrusage() et qui n'est pas implanté
sur un système cible. Je suis en train de la remplacer par des
clock() mais j'ai un énorme doute. La doc de clock() me parle
d'estimation du temps CPU pour le programme. Dans le cas d'un
programme multithreadé, est-ce qu'on entend le temps CPU consommé
par le groupe de threads ou par le thread seul ? J'aurais tendance à
penser qu'il s'agit du groupe de thread, mais ma doc n'est vraiment
pas claire...



Tu n'as pas clock_gettime() ? Là tu peux choisir.



Non, je n'ai pas clock_gettime().

Je suppose que tu veux le temps par thread, sinon il y a times()...



Non plus, je veux le temps par processus comme donné par getrusage.

Cordialement,

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
JKB
Le #23863741
Le Thu, 13 Oct 2011 13:20:37 +0000 (UTC),
Michel Talon
JKB
Bonjour à tous,

Je cherche depuis ce matin une information que je n'arrive pas à
trouver. Pourtant, ça doit être trivial.

J'ai une fonction qui utilise getrusage() et qui n'est pas implanté
sur un système cible. Je suis en train de la remplacer par des
clock() mais j'ai un énorme doute. La doc de clock() me parle
d'estimation du temps CPU pour le programme. Dans le cas d'un
programme multithreadé, est-ce qu'on entend le temps CPU consommé
par le groupe de threads ou par le thread seul ? J'aurais tendance à
penser qu'il s'agit du groupe de thread, mais ma doc n'est vraiment
pas claire...

Cordialement,

JKB




Selon la page man de FreeBSD
DESCRIPTION
The clock() function determines the amount of processor time used
since the invocation of the calling process, measured in CLOCKS_PER_SECs
of a second.

ce qui dit clairement qu'il s'agit de processus et non de thread.




Sous FreeBSD, peut-être. Sous les Unix que j'ai sous la main, on
parle toujours de programme (Tru64 et Linux) :

DESCRIPTION
The clock() function returns an approximation of processor time
used by the program.

Donc la question devient : est-ce toujours le temps sur un processus ?
Dans mon cas, c'est assez important puisque c'est pour un watchdog.

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Marc
Le #23864621
JKB wrote:

J'ai une fonction qui utilise getrusage() et qui n'est pas implanté
sur un système cible. Je suis en train de la remplacer par des
clock() mais j'ai un énorme doute. La doc de clock() me parle
d'estimation du temps CPU pour le programme. Dans le cas d'un
programme multithreadé, est-ce qu'on entend le temps CPU consommé
par le groupe de threads ou par le thread seul ? J'aurais tendance à
penser qu'il s'agit du groupe de thread, mais ma doc n'est vraiment
pas claire...



D'après la page de man que je vois sous linux, certains systèmes (pas
linux) incluent même le temps des enfants récupérés par wait...
Publicité
Suivre les réponses
Poster une réponse
Anonyme