[Shootout-list] fannkuch benchmark for GHC

Dmitry Astapov dastapov@gmail.com
Thu, 06 Jan 2005 13:01:05 +0200


--==-=-=
Content-Type: multipart/mixed; boundary="=-=-="

--=-=-=


Hi there,

Attached is a fannkuch benchmark for GHC, made in the same spirit as, for
example, Python one - it uses reverse traversal of the search space to
finish faster.

17 lines of code, 16 lines of comments :)


--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=fannkuch.hs
Content-Transfer-Encoding: base64

LS0gSGFza2VsbCBpbXBsZW1lbnRhdGlvbiBvZiBmYW5ua3VjaCBiZW5jaG1hcmsKLS0gY29t
cGlsZSB3aXRoOiAgZ2hjIC1PMiAtbyBmYW5ua3VjaCBmYW5ua3VjaC5ocwotLSBEbWl0cnkg
QXN0YXBvdiA8ZGFzdGFwb3ZAZ21haWwuY29tPgptb2R1bGUgTWFpbiB3aGVyZQppbXBvcnQg
U3lzdGVtIChnZXRBcmdzKQoKbWFpbiA9IGRvCiAgW2FyZ10gPC0gZ2V0QXJncwogIGxldCBu
ID0gcmVhZCBhcmcKICBwdXRTdHJMbiAkICJQZmFubmt1Y2hlbigiICsrIHNob3cgbiArKyAi
KSA9ICIgKysgc2hvdyAoZmFubmt1Y2ggbikgCgotLSBJbnN0ZWFkIG9mIGl0ZXJhdGluZyB0
aHJvdWdoIGFsbCBuISBwZXJtdXRhdGlvbnMsIGxldCdzIHN0YXJ0IAotLSBmcm9tIHRyaXZp
YWwgb25lcyAodGhhdCBpcywgZnJvbSBwZXJtdXRhdGlvbnMgc3RhcnRpbmcgd2l0aCAnMScp
Ci0tIGFuZCB1bmZsaXAgdGhlbSBiYWNrIHRvIHRoZSBpbml0aWFsIHN0YXRlLiBUaGlzIHdp
bGwgcmVkdWNlIHNlYXJjaAotLSBzcGFjZSBjb25zaWRlcmFibHkuCmZhbm5rdWNoIG4gPSBt
YXhpbXVtICQgbWFwIChsZW5ndGgudW5mbGlwcykgJCBtYXAgKDE6KSAkIHBlcm11dGF0aW9u
cyBbMi4ubl0KCi0tIEdvICJiYWNrIGluIHRpbWUiIGZyb20gdHJpdmlhbCBzdGF0ZSAobGlr
ZSBbMSwzLDUsNCwyXSksIHByb2R1Y2luZyBsaXN0Ci0tIG9mIHN0YXRlcyB0aGF0IGFyZSAx
IHN0ZXAgYmFjayBmcm9tIHRyaXZpYWwsIHRoZW4gLSBsaXN0IG9mIHN0YXRlcyB0aGF0Ci0t
IGFyZSAyIHN0ZXBzIGJhY2sgZnJvbSB0cml2aWFsLCBldGMuIElmIG9uIHRoZSBzdGVwIE4g
d2UgY291bGQgbm90IGdvIGJhY2sKLS0gYW55bW9yZSwgdGhlbiBtYXhpbXVtIG51bWJlciBv
ZiBmbGlwcyB0aGF0IGxlYWQgdG8gZ2l2ZW4gdHJpdmlhbAotLSBjb25maWd1cmF0aW9uIGlz
IChOLTEpCnVuZmxpcHMgbHN0ID0gdGFrZVdoaWxlICgvPVtdKSAkIGRyb3AgMSAkIGl0ZXJh
dGUgKGNvbmNhdE1hcCB1bmZsaXApIFtsc3RdCgotLSBJbiBvcmRlciB0byBnbyAiYmFjayBp
biB0aW1lIiwgd2Ugc2hvdWxkIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmc6Ci0tIGlmIGVsZW1l
bnQgWCBpcyBsb2NhdGVkIG9uIHRoZSBYJ3MgcGxhY2UgaW4gdGhlIGxpc3QsIHRoZW4gcmV2
ZXJzYWwgb2YKLS0gZmlyc3QgWCBlbGVtZW50cyBpcyBhIGZhbGlkICJ1bmZsaXAiLiBUaGVy
ZSBjb3VsZCBiZSBtb3JlIHRoYW4gb25lIHZhbGlkCi0tICJ1bmZsaXAiIGZvciBlYWNoIGdp
dmVuIGxpc3QgLSBhbGwgb2YgdGhlbSB3b3VsZCBiZSByZXR1cm5lZC4KdW5mbGlwIGxzdCA9
IAogIGxldCB1bmZsaXBfcG9pbnRzID0gbWFwIGZzdCAkIGZpbHRlciAoXChlbHQsaWR4KSAt
PiBlbHQgPT0gaWR4ICYmIGlkeCAvPSAxKSAkIHppcCBsc3QgWzEuLl0KICAgICAgaW4gbWFw
IGRvX3VuZmxpcCB1bmZsaXBfcG9pbnRzCiAgd2hlcmUgZG9fdW5mbGlwIHggPSBsZXQgKHJl
diwgc3RhYmxlKSA9IHNwbGl0QXQgeCBsc3QgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gKHJldmVyc2UgcmV2KSArKyBzdGFibGUKCnBlcm11dGF0aW9ucyBbXSAgICAgICAgID0g
IFtbXV0KcGVybXV0YXRpb25zICh4OnhzKSAgICAgPSAgW3pzIHwgeXMgPC0gcGVybXV0YXRp
b25zIHhzLCB6cyA8LSBpbnRlcmxlYXZlIHggeXMgXQogIHdoZXJlIGludGVybGVhdmUgeCBb
XSAgICAgPSAgW1t4XV0KICAgICAgICBpbnRlcmxlYXZlIHggKHk6eXMpID0gIFt4Onk6eXNd
ICsrIG1hcCAoeTopIChpbnRlcmxlYXZlIHggeXMp
--=-=-=



-- 
Dmitry Astapov //ADEpt                               E-mail: dastapov@gmail.com
GPG KeyID/fprint: F5D7639D/CA36 E6C4 815D 434D 0498  2B08 7867 4860 F5D7 639D

--=-=-=--

--==-=-=
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQBB3Rp2eGdIYPXXY50RAr3/AKCo8MgZWw7dEtCmCIVVTAFhsgwuFgCgpRt0
89USSblwOM9iliuvEy20kE4=
=Mjof
-----END PGP SIGNATURE-----
--==-=-=--