Hi Przemyslaw,

Przemyslaw Czerpak wrote:
> 
> Your results are more similar to the ones I have in my Linux box
> and only Harbour MT overhead is bigger.
> I took current Harbour and xHarbour code and unmodified speedtst.prg
> from Harbour SVN and I have:
> 

I did several tests to understand why my results are so different:

first, pc is as fast as it has to be :) I mean I used a speed comparison tool
and I've tested my pc against a PIV 2.4 GHz with OS/2 and a UNI kernel and
I've got these results

  PIV 2.4GHz UNI   --  PIV 3.6GHz HT SMP
CPU INT   2001.95          2863.38
CPU FLOAT   91.49           217.92
MEMORY    4481.71          5213.02

so, pc speed seems ok, but, I've noticed one thing, when I run speedtst on the
 UNI kernel I see that the single CPU is maxed out (using OS/2 version of task
manager, just to give you an idea).

When i run it on the SMP kernel, though, both CPUs keep going up and down, in
spikes, as if there is some call which suspends the program for a certain
amount of time.

This peculiar behaviour does not happen when I run the speed comparison tool,
so it has to be something inside speedtst and/or harbour runtime and/or gcc
runtime, but I don't understand what!

Maybe there are calls to mutexes and/or critical sections which happen so
often as to slow down everything.

I've made another test, even a loop like this

while .T.
enddo

does not max out a single cpu even if I write it in C !

I really don't understand :)

Maurilio.



-- 
 __________
|  |  | |__| Maurilio Longo
|_|_|_|____| farmaconsult s.r.l.



_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to