[Shootout-list] Mandelbrot Set for CMUCL and SBCL 2nd try
Greg Buchholz
sleepingsquirrel@member.fsf.org
Wed, 30 Mar 2005 10:31:44 -0800 (PST)
--0-27355436-1112207504=:53132
Content-Type: text/plain; charset=us-ascii
Content-Id:
Content-Disposition: inline
Just for the heck of it, yesterday I downloaded CMUCL and Mr. Gingras
previous implementation of the mandelbrot benchmark. Then I plugged in
core of the Chicken Scheme implementation. It looks like that
combination produces the correct results (see attached). Well, at least
after deleting a couple erroneous bytes that got tacked on at the end,
and the garbage collection messages that got spit out to stdout at the
beginning. (messages like...
; [GC threshold exceeded with 12,012,160 bytes in use. Commencing GC.]
). I'm sure someone conversant in CMUCL could clear up those issues in
short order. So we at least know it is possible to write a conforming
test in common lisp.
I also looked at the output of the given program (after correcting for
the off-by-one error). Well, it turns out that pixel #300 is the only
failing pixel for N=400 . This was also the case for an original ocaml
implementation. Christophe Troestler investigated this anomoly, and I
think it might have been due to a bug in the ocaml compiler. See this
message from a previous conversation at the shootout...
http://lists.alioth.debian.org/pipermail/shootout-list/2005-February/001057.html
Maybe a similar issue is affecting the CMUCL compiler?
Curious,
Greg Buchholz
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
--0-27355436-1112207504=:53132
Content-Type: application/octet-stream; name="mandelbrot.lisp"
Content-Transfer-Encoding: base64
Content-Description: mandelbrot.lisp
Content-Disposition: attachment; filename="mandelbrot.lisp"
Ozs7IFRoZSBHcmVhdCBDb21wdXRlciBMYW5ndWFnZSBTaG9vdG91dAo7Ozsg
ICBodHRwOi8vc2hvb3RvdXQuYWxpb3RoLmRlYmlhbi5vcmcvCgo7OzsgY29u
dHJpYnV0ZWQgYnkgWWFubmljayBHaW5ncmFzIDx5Z2luZ3Jhc0B5Z2luZ3Jh
cy5uZXQ+Cgo7OzsgZm9yIGEgY29sb3JmdWwgd2ViIHpvb21lciBmb3IgdGhl
IE1hbmRlbGJyb3QgU2V0IGJ5IHRoZSBzYW1lCjs7OyBhdXRob3Igc2VlIGh0
dHA6Ly9mcmFjdC55Z2luZ3Jhcy5uZXQvCgoKKGRlY2xhaW0gKG9wdGltaXpl
IHNwZWVkIChkZWJ1ZyAwKSAoc2FmZXR5IDApIChzcGFjZSAwKSkpCgooZGVm
dW4gbWFuZGVsIChjIHogaXRlcikKICAgIChpZiAoPSBpdGVyIDApCiAgICAg
ICAgMQogICAgICAgIChsZXQgKChuIChjYWRkIChjbXVsdCB6IHopIGMpKSkK
ICAgICAgICAgICAgIChpZiAoPiAobWFnX3NxciBuKSA0LjApCiAgICAgICAg
ICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgKG1hbmRlbCBjIG4gKC0g
aXRlciAxKSkpKSkpCgooZGVmdW4gbWFnX3NxciAobikKICAgICAoKyAoKiAo
Y2FyIG4pIChjYXIgbikpKCogKGNkciBuKSAoY2RyIG4pKSkpCgooZGVmdW4g
Y2FkZCAoYSBiKQogICAgKGNvbnMgKCsgKGNhciBhKSAoY2FyIGIpKSgrIChj
ZHIgYSkgKGNkciBiKSkpKQoKKGRlZnVuIGNtdWx0IChhIGIpCiAgICAoY29u
cyAoLSAoKiAoY2FyIGEpIChjYXIgYikpICgqIChjZHIgYSkgKGNkciBiKSkp
CiAgICAgICAgICAoKyAoKiAoY2FyIGEpIChjZHIgYikpICgqIChjZHIgYSkg
KGNhciBiKSkpKSkKCgooZGVmdW4gcmVuZGVyIChzaXplICZvcHRpb25hbCAo
c3RyZWFtICpzdGFuZGFyZC1vdXRwdXQqKSkKICAoZGVjbGFyZSAodHlwZSBm
aXhudW0gc2l6ZSkKICAgICAgICAgICAodHlwZSBzdHJlYW0gc3RyZWFtKSkK
ICAobGV0KiAoKGluYyAoLyAyLjBkMCBzaXplKSkKICAgICAgICAgKGNvZGUg
MCkKICAgICAgICAgKG1hc2sgMTI4KQogICAgICAgICAoemkgMC4wZDApCiAg
ICAgICAgICh6ciAwLjBkMCkKICAgICAgICAgKHRyIDAuMGQwKQogICAgICAg
ICAoYmFzZS1pbWFnIC0xLjBkMCkKICAgICAgICAgKGJhc2UtcmVhbCAtMS41
ZDApCiAgICAgICAgIChzdHIgKG1ha2Utc3RyaW5nIChjZWlsaW5nICgqIHNp
emUgc2l6ZSkgOCkpKQogICAgICAgICAoY3VyLWNoYXIgLTEpKQogICAgKGRl
Y2xhcmUgKHR5cGUgKHVuc2lnbmVkLWJ5dGUgOCkgY29kZSBtYXNrKQogICAg
ICAgICAgICAgKHR5cGUgZG91YmxlLWZsb2F0IHpyIHppIHRyIGJhc2UtcmVh
bCBiYXNlLWltYWcgaW5jKQogICAgICAgICAgICAgKHR5cGUgZml4bnVtIGN1
ci1jaGFyKSkKICAgIChmb3JtYXQgc3RyZWFtICJQNH4lfmQgfmR+JSIgc2l6
ZSBzaXplKQogICAgKGRvdGltZXMgKHkgc2l6ZSkKICAgICAgKGRlY2xhcmUg
KHR5cGUgZml4bnVtIHkpKQogICAgICAoZG90aW1lcyAoeCBzaXplKQogICAg
ICAgIChkZWNsYXJlICh0eXBlIGZpeG51bSB4KSkKICAgICAgICAoc2V0ZiB6
ciAwLjBkMCkKICAgICAgICAoc2V0ZiB6aSAwLjBkMCkKICAgICAgICAoaWYg
KD0gMSAobWFuZGVsIChjb25zICgtICgqIDIuMGQwICgvIHggc2l6ZSkpIDEu
NWQwKQogICAgICAgICAgICAgICAgICAgICAgICAgKC0gKCogMi4wZDAgKC8g
eSBzaXplKSkgMS4wZDApKQogICAgICAgICAgICAgICAgICAgICAgICAgKGNv
bnMgMC4wIDAuMCkgNTApKQogICAgICAgICAgKHNldGYgY29kZSAobG9naW9y
IG1hc2sgY29kZSkpKQogICAgICAgIChzZXRmIG1hc2sgKGFzaCBtYXNrIC0x
KSkKICAgICAgICAod2hlbiAoemVyb3AgbWFzaykKICAgICAgICAgIChzZXRm
IG1hc2sgMTI4KQogICAgICAgICAgKHNldGYgKGVsdCBzdHIgKGluY2YgY3Vy
LWNoYXIpKSAoY29kZS1jaGFyIGNvZGUpKQogICAgICAgICAgKHNldGYgY29k
ZSAwKSkKICAgICAgICAoaW5jZiBiYXNlLXJlYWwgaW5jKSkKICAgICAgKHNl
dGYgYmFzZS1yZWFsIC0xLjVkMCkKICAgICAgKGluY2YgYmFzZS1pbWFnIGlu
YykpCiAgICAod2hlbiAoLz0gMTI4IG1hc2spCiAgICAgIChzZXRmIChlbHQg
c3RyIChpbmNmIGN1ci1jaGFyKSkgKGNvZGUtY2hhciBjb2RlKSkpCiAgICAo
d3JpdGUtc2VxdWVuY2Ugc3RyIHN0cmVhbSkpCiAgdCkKCihkZWZ1biBtYWlu
ICgpCiAgKGxldCogKChhcmdzICMrc2JjbCBzYi1leHQ6KnBvc2l4LWFyZ3Yq
CiAgICAgICAgICAgICAgICMrY211IGV4dGVuc2lvbnM6KmNvbW1hbmQtbGlu
ZS1zdHJpbmdzKgogICAgICAgICAgICAgICAjK2djbCBzaTo6KmNvbW1hbmQt
YXJncyopCiAgICAgICAgIChuIChwYXJzZS1pbnRlZ2VyIChjYXIgKGxhc3Qg
YXJncykpKSkpCiAgICAocmVuZGVyIG4pKSkK
--0-27355436-1112207504=:53132--