* a weird problem with clock()
@ 2004-09-29 3:02 tangyan
2004-09-29 4:27 ` Sisyphus
0 siblings, 1 reply; 2+ messages in thread
From: tangyan @ 2004-09-29 3:02 UTC (permalink / raw)
To: gcc-help
Hello, everyone. I have a weird problem with clock() in glibc and I have
tried my best to solve it myself but it still doesn't work.
My little program is as following:
--------------------------------
#include <time.h>
#include <stdio.h>
int main()
{
int i, sum;
clock_t start, end;
start = clock();
for (i = 0; i < 10000; i++) {
sum += i;
}
end = clock();
printf("start: %ld, end: %ld\n", start, end);
return 0;
}
--------------------------------
The problem is in my box the output is ALWAYS "start: 0, end: 0".
Environment:
$uname -a
=>
---------------------------
Linux client135 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686
i386 GNU/Linux
---------------------------
OS: Redhat 9.0
---------------------------
$cat /proc/cpuinfo
=>
---------------------------
processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping : 9
cpu MHz : 2593.519
cache size : 512 KB
physical id : 0
siblings : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 5177.34
--------------------------
$ gcc -v
=>
----------------------------
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--host=i386-redhat-linux
Thread model: posix
gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
----------------------------
The output of `ldd' on the `test' generated by "gcc test.c -o test" is,
------------------------------
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
------------------------------
What's wrong with my little program?
I just do all the things exactly followed the `time & data' chapter in
glibc manual, but the output is always ZERO. The return value of clock()
is 0, so it seems no error (-1) occurs. But why it always return 0?
Thank you very much!
BHW: I have not subscribe this mailing list, so anyone having some idea
about this problem please replys directly to my mailbox, thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: a weird problem with clock()
2004-09-29 3:02 a weird problem with clock() tangyan
@ 2004-09-29 4:27 ` Sisyphus
0 siblings, 0 replies; 2+ messages in thread
From: Sisyphus @ 2004-09-29 4:27 UTC (permalink / raw)
To: tangyan; +Cc: gcc-help
tangyan@ict.ac.cn wrote:
> Hello, everyone. I have a weird problem with clock() in glibc and I have
> tried my best to solve it myself but it still doesn't work.
>
> My little program is as following:
> --------------------------------
> #include <time.h>
> #include <stdio.h>
>
> int main()
> {
> int i, sum;
> clock_t start, end;
>
> start = clock();
>
> for (i = 0; i < 10000; i++) {
> sum += i;
> }
>
> end = clock();
>
> printf("start: %ld, end: %ld\n", start, end);
>
> return 0;
> }
> --------------------------------
> The problem is in my box the output is ALWAYS "start: 0, end: 0".
>
> Environment:
> $uname -a
> =>
> ---------------------------
> Linux client135 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686
> i386 GNU/Linux
> ---------------------------
> OS: Redhat 9.0
> ---------------------------
> $cat /proc/cpuinfo
> =>
> ---------------------------
> processor : 1
> vendor_id : GenuineIntel
> cpu family : 15
> model : 2
> model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
> stepping : 9
> cpu MHz : 2593.519
> cache size : 512 KB
> physical id : 0
> siblings : 2
> fdiv_bug : no
> hlt_bug : no
> f00f_bug : no
> coma_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 2
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
> bogomips : 5177.34
> --------------------------
> $ gcc -v
> =>
> ----------------------------
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --with-system-zlib --enable-__cxa_atexit
> --host=i386-redhat-linux
> Thread model: posix
> gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
> ----------------------------
>
> The output of `ldd' on the `test' generated by "gcc test.c -o test" is,
> ------------------------------
> libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> ------------------------------
>
> What's wrong with my little program?
> I just do all the things exactly followed the `time & data' chapter in
> glibc manual, but the output is always ZERO. The return value of clock()
> is 0, so it seems no error (-1) occurs. But why it always return 0?
>
> Thank you very much!
>
> BHW: I have not subscribe this mailing list, so anyone having some idea
> about this problem please replys directly to my mailbox, thanks.
>
>
>
I get the same as you. You just need to increase the number of
iterations. 10 million or so should be enough to start getting a
non-zero value. You'll probably find anything that takes less than .01
seconds to run fails to register a clock count.
Cheers,
Rob
--
Any emails containing attachments will be deleted from my ISP's mail
server before I even get to see them. If you wish to email me an
attachment, please provide advance warning so that I can make the
necessary arrangements.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-09-29 4:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-29 3:02 a weird problem with clock() tangyan
2004-09-29 4:27 ` Sisyphus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).