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