Re: IntToStr B&V version 0.18



Avatar Zondertau wrote:

> We can see that my benchmark performs better on highly spread
> functions, while Sasa's bench does a better job on low-spread
> functions. Sasa spread gets as high as 38,70% spread (!) on
> IntToStr_DKC_IA32_3.

I do also get far more better results with RDTSC with special perapration
to block outer interference.

Note also that our two benchmarks uses differently created data.
That will be handled.

> Dennis' functions seem pretty sensitive to spread. Perhaps a comparison
> between those and lower spread functions (like IntToStr_SZ_PAS_2 and
> IntToStrOuc_IA32_2 on my benchmark or IntToStr_JOH_PAS_4 on Sasa's) may
> reveal the source of our spread problem.

Main problem with Dennis' functions is probably side effect of
fragmentation, since construction result:=ch+result reallocate
memory many times.

Problem with RTL function is heap because external function call
(pop/push). External function is as well called in Dennis' functions.

Sasa
--
www.szutils.net
.



Relevant Pages

  • Weird spread behavior in benchmark
    ... When i run my benchmark (the "alternative" one, ... and the JOH functions) produce excessive amounts of spread everytime, ... is no significant runtime difference, and the same goes for the rest. ... over two megabytes (my amount of L2 cache), ...
    (borland.public.delphi.language.basm)
  • Re: Fastcode - Alternative SZ IntToStrB&V v0.09
    ... benchmark loop N times and selects the minimum duration. ... the inner loop with minimal interruption. ... - Measurement: N times the duration of one execution of the inner loop ... > That is quite oposite in that how you are calculate "spread" value ...
    (borland.public.delphi.language.basm)
  • Re: Fastcode IntToStr 0.15 B&V
    ... If the benchmark would relly test with a uniform distribution the small ... > 20 times and calculates the spread. ... It uuses the same calculation of spread. ... Most important is that the sequence is long enough to ...
    (borland.public.delphi.language.basm)
  • Re: Fastcode unofficial Debug IntToStr32 B&V 0.01
    ... > The bench test button simply runs Benchmark All 20 times in a row. ... > The result is shown in two edits. ... > of the function with the worst spread. ... It's easier to do statistical calculations on standard deviation. ...
    (borland.public.delphi.language.basm)
  • Re: Fastcode - Alternative SZ IntToStrB&V v0.09
    ... > Because the current IntToStr B&V has a big spread you cannot conclude that ... Dennis, you ask me for help and suggestions. ... rules I count after 9 releases of my own benchmark, ...
    (borland.public.delphi.language.basm)