Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tlug] timing for geeks :)



Hello :) 

I need a time mark in my experiments, so I have used ftime() function.
But what was my surprise, when I discovered, that time mark for the
_later_ measurements are actually more recent than _sooner_
measurements. 

Ok, I thought to myself, I am a poor programmer, most probubly I made a
mystake. So I have written a very simple program and used it to test.  I
do not understand the result and here I come to the allmighty TLUGers
[1] with a humble request for help....

So what I did exactly: 

1. write a simple c program - see
http://material.karlov.mff.cuni.cz/people/hajek/timetest/clocks.c

2. compile
$:~/testcasu$ gcc -Wall -o cas clocks.c 
clocks.c:6: warning: return type defaults to 'int'
clocks.c: In function 'main':
clocks.c:11: warning: format '%d' expects type 'int', but argument 2 has
type 'time_t'
$:~/testcasu$ 

3. well, only warnings, so let's see if it works :)

3. run it. 
$ cas > cas.txt

here is the head of the file:
1133531643.784   
1133531643.784   
1133531643.784   
1133531643.784   
1133531643.784   
1133531643.784   
1133531643.784   
1133531643.784   
1133531643.784   
1133531643.784   

This beast writes to my disk with cca 21MB/s, so be carefull!

4. since many of the lines are same, lets uniq it :)
uniq cas.txt > uniq.txt
(I suspect the reason for all trobles comes in the above line)

5. produce time diferences between unique lines
awk '{print $1, $1 - 1133531643.784}' uniq.txt > graf.dat

6. use gnuplot to produce graph. It graphse line number vs. time diff. 
http://material.karlov.mff.cuni.cz/people/hajek/timetest/uniq.png
with detail on one peak:
http://material.karlov.mff.cuni.cz/people/hajek/timetest/detail.png

Can anyone please tell me why these peaks appear? Why there are three or
more different slopes? How exactly does the program work than?  

More general question : is there other accurate time marker available in
c-libraries? 

Above shown data were produced on debian amd64 pc with  AMD Athlon(tm)
64 Processor 3000+
cpu MHz         : 1872.184
bogomips        : 3710.97

using distribution kernel:
Linux  2.6.12-1-amd64-k8 #1 Wed Sep 28 02:31:26 CEST 2005 x86_64 GNU/Linux

For me the practical impact right now is quite low or none at all, since
for the actual measurement I can live with a bit slower rates, but ...
once the question came to live, I cannot get rid of it ... 

So if someone is interested in this brain riddle, I would be quite
interested in the answer :) Hmm, .. a good situation for a time 
contest.... so I offer a beer [2] for the first person who commes out with a
solution :)

[1] well, more precisely, to those who were allmighty enought to
subscribe to this list :)

[2] and perhaps you know that Czech beer [3] is the best beer in the world.

[3] prize is to be taken in Prague, or wherever I would be at the
particular moment [4]

[4] recursion is not healthy!


Best regards
Michal


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links