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

From: AndrevanTonder <andre>
Date: Mon Oct 2 20:31:06 2006

> Kent Dybvig wrote:
>> In Chez Scheme, with full optimization enabled (as one would do for
>> built-in primitives), the difference is totally in the noise, with the
>> circ version beating the regular version as often as not.

On Mon, 2 Oct 2006, William D Clinger wrote:

> It should be clear that the difference between the R5RS
> and R6RS semantics is less than the differences between
> popular implementations.

I also ran the following version of Kent Dybvig's benchmark:

  (test 10000 100000)
  (test 100000 10000)
  (test 1000000 1000)
  (test 10000000 100)
  (test 100000000 10)

on Stalin with the inlined version of my original, and the Stalin
benchmark compiler options, and found the following timings in seconds
(best of 3):

                          R5RS R6RS %
                          ---- ----
Stalin 0.9 (Intel) 10.04 8.95 89%

Amazingly, the r6rs cycle-checking version is consistently faster by
about 10%. I would imagine the reason for this is that the loop is unrolled
with respect to the r5rs version.

Anyway, I'm happy to have been proved wrong, and I drop my original
objection as formulated in the formal comment I submitted.

Cheers
Andre
Received on Mon Oct 02 2006 - 20:28:11 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC