Méthode d'obtenir le temps de programmation CPU pour le fil, en C, qui fonctionne aussi bien sur OpenSolaris et Linux

StackOverflow https://stackoverflow.com/questions/2610484

  •  25-09-2019
  •  | 
  •  

Question

J'ai un petit démon que je vous écris en C et je besoin d'un moyen pour obtenir le temps CPU en cours sur un fil. Linux fournit apparemment un certain nombre de façons de s'y prendre, clock_gettime (CLOCK_THREAD_CPUTIME_ID, ...), pthread_getcpuclockid (), getrusage (RUSAGE_THREAD, ...) mais aucun d'entre eux semblent être pris en charge sous OpenSolaris 2009.06.

Y at-il une manière amicale multiplateforme pour obtenir le temps CPU en cours pour un fil? Sinon, est-il possible de le faire dans OpenSolaris du tout? À ce stade, je suis même prêt à mettre dans un tas de directives du compilateur laides pour faire ce travail.

Était-ce utile?

La solution

Selon "Priorité de thread sur la Plate-forme Solaris ", Solaris 9 et au-dessus d'un défaut one-to-one correspondance entre les fils et LWPs ( processus légers ). Par conséquent, selon getrusage de manpage , vous devriez être en mesure d'appeler getrusage(RUSAGE_LWP, ...).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top