🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15218

Re: notion de temps

#15218
From: Antoine Leca
Date: Wed, 05 Oct 2005 13:28
51 lines
3377 bytes
En <news:mn.2ab87d5aabd61e84.31483@laposte.net>,
 Pierre Maurette va escriure:
> Antoine Leca, le 05/10/2005, a �crit :
>> En <news:mn.2a1a7d5afd420743.31483@laposte.net>,
>>  Pierre Maurette va escriure:
>>>> Comment avoir une notion de temps en C ?
>>> La seule chose portable que je vois, c'est clock()  de <time.h>:
>>
>> Mmmh. clock() te donne une estimation du temps pass� dans ton
>> programme; c'est diff�rent du temps qui passe (celui de l'horloge),
>> qui est mod�lis� par time().
> J'ai toujours eu des doutes l�-dessus, sous Windows.

Bin si, c'est une estimation :^)

En fait, je suppose que c'est encore une histoire de compatibilit� avec
l'existant (DOS) plus importante que celle avec la norme :-(.

DOS ne permettait (permet d'ailleurs, cela n'a pas chang�) pas de mesurer le
temps pass� dans le programme, et d'ailleurs la diff�rence avec le temps qui
passe n'avait pas grande importance. Avec NT, il y a des moyens d'obtenir la
� bonne � information (GetProcessTimes, GetThreadTimes), mais Microsoft n'a
pas voulu/pu changer le comportement de la fonction clock() de sa
biblioth�que ; et je pense qu'aujourd'hui il doit �tre trop tard : trop de
programmeurs pensent comme toi que clock() est li� � l'horloge, impl�menter
le comportement � correct � casserait trop.


> Je ne pense pas que clock() mesure le temps dans la t�che, mais un
> temps depuis le d�marrage, genre GetTickCount() ou RDTSC.

Oui (GetSystemTimeAsFileTime ou ftime/GetLocalTime en fait).

> Il existe effectivement des
> possibilit�s de mesure dans la t�che, mais elles sont sp�cifiques au
> mat�riel, et je n'ai jamais pu y acc�der en user mode.

Il est temps de passer � NT...

GetProcessTimes() est effectivement absent de Win95/98/Me (on se demande un
peu pourquoi... paresseux chez MS ? Les informations sont disponibles avec
la fonction GetThreadExecTime, mais c'est une fonction du noyau VMM, un peu
compliqu� � lire depuis le ring 3.)


> Mais bon, j'ai des doutes.

Sur quoi ?


Antoine
Technical Details
Message-ID: <di0kec$5hl$1@shakotay.alphanet.ch>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!newsfeed.stueberl.de!news.imp.ch!news.imp.ch!80.83.46.147.MISMATCH!news.alphanet.ch!alphanet.ch!not-for-mail
References: <dhuute$h61$1@apollon.grec.isp.9tel.net> <mn.2a1a7d5afd420743.31483@laposte.net> <di03lg$l0r$1@shakotay.alphanet.ch> <mn.2ab87d5aabd61e84.31483@laposte.net>

Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,4e02ca09709eaded
X-Google-Attributes: gidf9822,public
X-Google-Language: FRENCH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!newsfeed.stueberl.de!news.imp.ch!news.imp.ch!80.83.46.147.MISMATCH!news.alphanet.ch!alphanet.ch!not-for-mail
From: "Antoine Leca" <root@localhost.invalid>
Newsgroups: fr.comp.lang.c
Subject: Re: notion de temps
Date: Wed, 5 Oct 2005 15:28:42 +0200
Organization: Posted through ALPHANET (http://www.alphanet.ch/)
Lines: 52
Sender: antoinel@143.red-217-127-250.staticip.rima-tde.net
Message-ID: <di0kec$5hl$1@shakotay.alphanet.ch>
References: <dhuute$h61$1@apollon.grec.isp.9tel.net> <mn.2a1a7d5afd420743.31483@laposte.net> <di03lg$l0r$1@shakotay.alphanet.ch> <mn.2ab87d5aabd61e84.31483@laposte.net>
NNTP-Posting-Host: 143.red-217-127-250.staticip.rima-tde.net
Mime-Version: 1.0
Content-Type: text/plain;
 charset="iso-8859-15"
Content-Transfer-Encoding: 8bit
X-Trace: shakotay.alphanet.ch 1128518924 5685 217.127.250.143 (5 Oct 2005 13:28:44 GMT)
X-Complaints-To: usenet@alphanet.ch
NNTP-Posting-Date: Wed, 5 Oct 2005 13:28:44 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1506
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506