On Fri, 20 Mar 2009, Szak�ts Viktor wrote: Hi,
> > I can believe in many different things but I do not belive that: > > 03/19/09 23:05:24 Windows XP 5.1.2600 Service Pack 3 > > Harbour-gc2+speedtst-gc2 gives: > > [ T000: empty loop overhead ]...................................0.06 > > Harbour-gc3+speedtst-gc2 gives: > > 03/19/09 23:45:50 Windows XP 5.1.2600 Service Pack 3 > > [ T000: empty loop overhead ]...................................0.11 > > :-) > In fact it's not funny. > > In this specific test (and only this one, it was the last one), > I was impatient and run the test while the last part of the > build process (zip.exe) didn't end yet. And you spotted it. > So I've rerun this test, see it at the end of this mail. Don't > discredit the rest of the results though, they were all run > in clean idle states. If the above is true then it discards all your results :-( because your Windows calculated this second .zip process as the speedtst time: [ total application time: ]....................................49.13 [ total real time: ]...........................................49.45 The application time and real time are nearly identical. Such overhead by other process should create huge difference between both times and real time should be noticeable bigger. > The 1-st one for sure in not yesterday's builds and for sure speedtst > > was not compiled with -gc2 but with -gc3 in this test. > Are you talking about st-hb-icc-gc2.txt ? No, see times above. They come from MinGW builds. > It *is* a -gc3 default build I did on 2008-03-18, and > speedtst was compiled with -gc2 command. > I can send you the .exe if you don't believe me. You do not have to I see results :-) > In -gc3 the only difference is a parameter passed > in normal mode and no parameter in -ko mode > passed to a different hb_xvm*() function. That > different function looks more heavy than the other, > that might explain. The difference is marginal, but > repeatable on my system. In -gc3 there is no > change in number of HVM calls made in -ko > and non--ko modes. You are talking about INC only so please look the body of hb_vmInc() and hb_vmAddInt() and check if this parameter is the only difference and it explains the difference. > Specifically: > -ko mode: > if( hb_xvmDec() ) break; > default mode: > if( hb_xvmAddInt( -1 ) ) break; Yes it is and look at this functions. But this is only one modification in generated code which should increase the speed. -ko makes also other modifications, f.e. compare the code for: proc main() local x := 20 ? x + 10 + 15 + 30 * 5 + 40 + 7 return > > Anyhow now I would like to should you sth funny what can help you > > in the future in checking the results. > Sorry, I didn't get this :/ > Finally the repeated "st-hb-mingw433-gc2-gc2.txt" result: Thank you. You are the 1-st on this list (and also xHarbour list) who does not report small speed reduction when Harbour code code is compiled with -gc3 and speedtst with -gc2. All other users reported small speed overhead 1-2% in comparison to core code compiled with -gc2. It is visible in both -gc3 and -gc2 compilations: timeof( harbour-gc2 + speedtst-gc2 ) < timeof( harbour-gc3 + speedtst-gc2 ) and: timeof( harbour-gc2 + speedtst-gc3 ) < timeof( harbour-gc2 + speedtst-gc3 ) best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour