>From time to time I run a couple of benchmarks on different Forth systems
to check how design changes in my program behave. The benchmarks check a
wide variety of Forth words (including interpreting strings, compiling
from strings, integer maths) and do *not* just run the same loop over and
over again.

Interpreting benchmarks is a very complicated subject, as a change which
might speed up the process on one Forth/CPU combination might slow it down
on another. Even things like declaring an often used variable in another
spot of the source (without changing anything else) can change results on
certain processors/systems while others don't care. So one must be very
careful about comparing results (i.e. from different Forth systems. My
current implementation is not as fast on bigFORTH as it could be BTW,
which is not bigFORTHs fault).


One thing which surprises me about bigFORTH is the inconsistency of the
results. If I run the very same benchmark a couple of times in sequence
(always disregarding the very first run) I get quite different timings
with bigFORTH for each run while the individual results (of different
runs) on other Forth systems are always close toghether. 

Example (three consecutive runs):

ANS bigFORTH 386-Linux rev. 2.0.10      brew_0_2_rk1
time bigforth  --mem-size 4M  --dictionary-size 2M\
               -e "CREATE transit-12-bench" brew.fs

real    2m3.395s          real    2m14.332s          real    2m1.578s
user    2m2.900s          user    2m13.840s          user    2m1.000s
sys     0m0.500s          sys     0m0.490s           sys     0m0.580s


time pfe -e "CREATE transit-12-bench" brew.fs
\ Portable Forth Environment 0.32.94 (Aug 27 2003 07:06:12)     brew_0_2_rk1

real    1m56.763s         real    1m56.283s          real    1m56.056s
user    1m55.480s         user    1m55.050s          user    1m54.850s
sys     0m1.250s          sys     0m1.240s           sys     0m1.170s


This is not a problem at all, I'm just wondering why that is.

Robert Epprecht

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to