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

Reply via email to