Dave Held wrote:
There is always clock(). It's mandated by ANSI C, but my docs say that POSIX requires CLOCKS_PER_SEC == 1000000 regardless of actual timer resolution, which seems a little brain-dead to me.
__
David B. Held
My experience with clock() on win32 is that CLOCKS_PER_SEC was 1000, and it had a resolution of 55clocks / s. When I just did this:
int main(int argc, char **argv)
{
int start = clock();
int now = start;
cout << "Clock: " << CLOCKS_PER_SEC << endl;
for(int i = 0; i < 10; ++i) {
while(now == clock()) {
// Do nothing
}
now = clock();
cout << now-start << "\t" << (now - start) / (double) CLOCKS_PER_SEC << endl;
}
}
I got: Clock: 1000 16 0.016 31 0.031 47 0.047 62 0.062 78 0.078 93 0.093 109 0.109 125 0.125 141 0.141 156 0.156
Which is about 1/0.016 = 62.5 clocks per second.
I'm pretty sure this is slightly worse than what we want. :)
It might be better on other platforms, but on win32 clock() is most definitely *not* what you want.
John
=:->
signature.asc
Description: OpenPGP digital signature