[r6rs-discuss] [Formal] Requirement to detect circular lists - benchmarks

John Cowan cowan at ccil.org
Mon Oct 2 17:33:21 EDT 2006


AndrevanTonder scripsit:

>                no cycle detection    with cycle detection     % factor
>                ------------------    --------------------     --------
> Larceny (compiled):   110                   140                  127%
> Petite (interpr):     125                   390                  312% 
> MzScheme (compiled):  141                   172                  122%
  Chicken (interpr):    531                   750                  141%
  Chicken (compiled):    32                    62                  193%

I'm assuming that these numbers are milliseconds; in any case, the %
factor is the only thing meaningful, because I have no idea of the
relative speeds of our systems.

I also tested Dybvig's variation.  In the Chicken interpreter, speeds are
essentially unchanged until we get to "100000 iterations list of length
100", which only showed a factor of 132%; for "1000000 iterations list
of length 10", it's 124%, and for "10000000 iterations list of length 1"
it's 114%.  This is surely due to the first (fast) version being charged
unfairly for the costs of consing up those lists.

In the compiler, on the other hand, the factor starts at 150% and
approaches 100% (no speed difference) as the list length shrinks, as
you'd expect.

-- 
Babies are born as a result of the              John Cowan
mating between men and women, and most          http://www.ccil.org/~cowan
men and women enjoy mating.                     cowan at ccil.org
    --Isaac Asimov in Earth: Our Crowded Spaceship



More information about the r6rs-discuss mailing list