Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gérer le temps jusqu'aux millisecondes

3 views
Skip to first unread message

TSalm

unread,
Nov 17, 2009, 12:32:21 PM11/17/09
to
Bonjour,

"time_t" sait gᅵrer le temps jusqu'aux secondes.
Est-ce qu'il existe un outil plutᅵt standart pour gᅵrer le temps et qui
sait travailler jusqu'aux millisecondes ?

D'avance merci,
-TSalm

Fabien LE LEZ

unread,
Nov 17, 2009, 12:56:31 PM11/17/09
to
On Tue, 17 Nov 2009 18:32:21 +0100, TSalm <ts...@free.fr>:

>Est-ce qu'il existe un outil plut�t standart pour g�rer le temps et qui

>sait travailler jusqu'aux millisecondes ?

En th�orie, clock() devrait convenir.
http://www.cplusplus.com/reference/clibrary/ctime/clock/

Toutefois, sous Windows, il est relativement difficile d'obtenir une
r�solution meilleure que 15 ou 16 millisecondes : il faut bricoler
avec des fonctions sp�cifiques � Windows, comme
QueryPerformanceCounter().

TSalm

unread,
Nov 17, 2009, 1:03:03 PM11/17/09
to
Le Tue, 17 Nov 2009 18:56:31 +0100, Fabien LE LEZ <gram...@gramster.com>
a ᅵcrit:

> On Tue, 17 Nov 2009 18:32:21 +0100, TSalm <ts...@free.fr>:
>

>> Est-ce qu'il existe un outil plutᅵt standart pour gᅵrer le temps et qui


>> sait travailler jusqu'aux millisecondes ?
>

> En thᅵorie, clock() devrait convenir.


> http://www.cplusplus.com/reference/clibrary/ctime/clock/
>
> Toutefois, sous Windows, il est relativement difficile d'obtenir une

> rᅵsolution meilleure que 15 ou 16 millisecondes : il faut bricoler
> avec des fonctions spᅵcifiques ᅵ Windows, comme
> QueryPerformanceCounter().
>

Non, je voulais parler du temps dans le sens
annᅵes,mois,jours,heures,minutes,secondes,millisecondes.
Il me semble que ca tiendrait dans un <long long>, alors que <time_t> ne
tiens que dans un <long> et ne gᅵre que jusqu'aux secondes.

Fabien LE LEZ

unread,
Nov 17, 2009, 1:14:28 PM11/17/09
to
On Tue, 17 Nov 2009 19:03:03 +0100, TSalm <ts...@free.fr>:

>Non, je voulais parler du temps dans le sens

>ann�es,mois,jours,heures,minutes,secondes,millisecondes.

POSIX d�finit gettimeofday(). Mais comme d'hab', tu vas te heurter au
fait que Windows n'est pas POSIX...

Richard Delorme

unread,
Nov 17, 2009, 1:17:13 PM11/17/09
to
Le 17/11/2009 19:14, Fabien LE LEZ a �crit :

Sous Windows, il y a GetSystemTime() et GetLocalTime().

http://msdn.microsoft.com/en-us/library/ms724950%28VS.85%29.aspx

--
Richard

Fabien LE LEZ

unread,
Nov 17, 2009, 1:41:37 PM11/17/09
to
On Tue, 17 Nov 2009 19:17:13 +0100, Richard Delorme
<abu...@nospam.fr>:

>Sous Windows, il y a GetSystemTime()

...et Cygwin.

Richard Delorme

unread,
Nov 17, 2009, 2:19:36 PM11/17/09
to
Le 17/11/2009 19:41, Fabien LE LEZ a �crit :

Pour une compatibilit� POSIX, on doit pouvoir s'en passer. P.ex avec :

http://www.cadforte.com/system64.html

--
Richard

TSalm

unread,
Nov 17, 2009, 4:32:52 PM11/17/09
to
Le Tue, 17 Nov 2009 20:19:36 +0100, Richard Delorme <abu...@nospam.fr> a
ᅵcrit:

> Le 17/11/2009 19:41, Fabien LE LEZ a ᅵcrit :


>> On Tue, 17 Nov 2009 19:17:13 +0100, Richard Delorme
>> <abu...@nospam.fr>:
>>
>>> Sous Windows, il y a GetSystemTime()
>>
>> ...et Cygwin.
>

> Pour une compatibilitᅵ POSIX, on doit pouvoir s'en passer. P.ex avec :
>
> http://www.cadforte.com/system64.html
>

Merci pour vos rᅵponses.
Heureux utilisateur de MinGW, je dispose bien <sys/time.h>.

James Kanze

unread,
Nov 18, 2009, 3:50:41 AM11/18/09
to
On Nov 17, 5:56 pm, Fabien LE LEZ <grams...@gramster.com> wrote:
> On Tue, 17 Nov 2009 18:32:21 +0100, TSalm <ts...@free.fr>:

> >Est-ce qu'il existe un outil plutôt standart pour gérer le


> >temps et qui sait travailler jusqu'aux millisecondes ?

> En théorie, clock() devrait
> convenir.http://www.cplusplus.com/reference/clibrary/ctime/clock/

> Toutefois, sous Windows, il est relativement difficile

> d'obtenir une résolution meilleure que 15 ou 16 millisecondes
> : il faut bricoler avec des fonctions spécifiques à Windows,
> comme QueryPerformanceCounter().

La fonction clock() ne convient pas du tout, puisque d'une part,
ce qu'elle est censée mesurer, c'est le temps CPU utilisé par le
programme, et non le temps tout court, et de l'autre, la
résolution n'est pas spécifiée, et est rarement jusqu'aux
millisecondes. (Historiquement, dans les premiers Unix, où la
fonction a vue le jour, CLOCKS_PER_SECOND était 50 ou 60, selon
que la machine se trouvait en Europe ou aux États-unis. La norme
Posix exige que CLOCKS_PER_SECOND vale 1000000, mais dit
explicitement que la resolution dépend du système.)

Et sous Unix et sous Windows il y a des fonctions fournissant
une meilleur résolution, mais elles ne sont pas portables.

--
James Kanze

0 new messages