From: Helmut Eller on 13 Mar 2010 05:23 * Slobodan Blazeski [2010-03-13 10:40+0100] writes: > No luck for me me : [...] > LC53.4th:11: Aborted > w 4 <> [if] .( *** LC53 requires a 32-bit system ***) cr >>>>abort<<< [then] I think you could just delete that line; I'm pretty sure that the result would be the same on a 64bit machine. [...] > include novice.4th > Including novice.4th > Err# -13 ERR: Undefined word. > Source: "novice.4th" on line 227 > -> 1 floats constant f \ the size of a float Try to load the float stuff first: include /usr/share/doc/VfxForth/Lib/Ndp387.fth include novice.4th include LC53.4th Helmut
From: Nicolas Neuss on 13 Mar 2010 06:03 Nicolas Neuss <lastname(a)kit.edu> writes: > [...] > SBCL does more type inference than Allegro or CCL, so I guess one would > simply have to introduce somewhat more declarations (e.g. byte in the > loop code) there to get also faster convergence. :-) execution time
From: Rainer Joswig on 13 Mar 2010 06:30 In article <87aauceddb.fsf(a)ma-patru.mathematik.uni-karlsruhe.de>, Nicolas Neuss <lastname(a)kit.edu> wrote: > Helmut Eller <eller.helmut(a)gmail.com> writes: > > > * Hugh Aguilar [2010-03-12 22:37+0100] writes: > > > >> Would it be possible to obtain benchmarks all on one machine? Thanks > >> once again for all of your interest in LC53! > > > > You could run it yourself :-P > > > > But here we go: > > > > The text was "abcdefghijklmnopqrstuvwxyz". > > > > naive Lisp version: > > SBCL 1.0.35.8 : 85 seconds > > Allegro 8.2 : 193 seconds > > CCL r13524M : 201 seconds > > > > Nikolaus' version: > > SBCL 1.0.35.8 : 60 seconds > > Allegro 8.2 : 220 seconds > > CCL r13524M : 319 seconds > > > > Factor 0.92 : 110 seconds from http://paste.factorcode.org/paste?id=998 > > > > Gforth 0.7.0 : 29 seconds > > iForth 4.0.11 : 7 seconds > > > > Note that the declarations didn't help Allegro and CCL at all. > > SBCL does more type inference than Allegro or CCL, so I guess one would > simply have to introduce somewhat more declarations (e.g. byte in the > loop code) there to get also faster convergence. > > > I guess that closing over seed was also not a good move. The Lisp > > version should probably be written more like the Factor version > > without global variables. I looks like the Factor version inlines > > everything into a single (recursive) function. Allegro could probably > > do much better if safety and debug were turned off. > > > > After looking at the Factor version I also recognized that haw-far could > > have been written more elegantly with POSITION-IF. > > > > But yeah, that even Gforth seems out of reach is a bit embarrassing. > > Out of reach *on 32-bit architectures* (if we refrain from using the > special SBCL/sb-regpair branch)! On 64-bit architectures (which are not > that rarely encountered nowadays) I observe: > > > naive Lisp version: > > SBCL 1.0.35.8 : 67 seconds > > > > Nikolas' version: > > SBCL 1.0.35.8 : 15 seconds Nikolas version in LispWorks 6 64bit on my 2.33 Ghz MacBook Pro: CL-USER 209 > (lc53::test) abcdefghijklmnopqrstuvwxyz SAMPLE is encrypted and seed is zeroed; commencing cracking... Timing the evaluation of (LC53::FIND-SEED) User time = 11.453 System time = 0.102 Elapsed time = 11.521 Allocation = 653423424 bytes 50 Page faults The seed is: 174187923 The file is: <B!qzoPDJgmI]mUXwD@ NIL -- http://lispm.dyndns.org/
From: Slobodan Blazeski on 13 Mar 2010 08:50 On Mar 13, 11:23 am, Helmut Eller <eller.hel...(a)gmail.com> wrote: > * Slobodan Blazeski [2010-03-13 10:40+0100] writes: > > > > > No luck for me me : > [...] > > LC53.4th:11: Aborted > > w 4 <> [if] .( *** LC53 requires a 32-bit system ***) cr > >>>>abort<<< [then] > > I think you could just delete that line; I'm pretty sure that the result > would be the same on a 64bit machine. > > [...] > > > include novice.4th > > Including novice.4th > > Err# -13 ERR: Undefined word. > > Source: "novice.4th" on line 227 > > -> 1 floats constant f \ the size of a float Error again bobi(a)deus:~$ gforth Gforth 0.7.0, Copyright (C) 1995-2008 Free Software Foundation, Inc. Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' Type `bye' to exit include novice.4th redefined try redefined Defer with defer redefined IS with is redefined s>f redefined <= redefined >= redefined d>= redefined d<= redefined d> redefined 2tuck redefined NIL with nil redefined ," redefined { redefined field redefined 2nip redefined 0>= redefined ftuck redefined f0>= redefined f>= redefined f2* redefined f2/ redefined pi ok try LC53.4th redefined Debug? with debug? LC53.4th:18: Undefined word 123456789 >>>seed<<< ! ; Backtrace: $7FE34CDDAA68 throw $7FE34CDF0C68 no.extensions $7FE34CDDE3A0 compiler-notfound1 > > Try to load the float stuff first: > include /usr/share/doc/VfxForth/Lib/Ndp387.fth > include novice.4th > include LC53.4th VFX Forth for Linux IA32 © MicroProcessor Engineering Ltd, 1998-2010 Version: 4.40 [build 0422] Build date: 20 January 2010 Free dictionary = 7922527 bytes [7736kb] nclude /usr/share/doc/VfxForth/Lib/Ndp387.fth Err# -13 ERR: Undefined word. -> nclude /usr/share/doc/VfxForth/Lib/Ndp387.fth ^ include /usr/share/doc/VfxForth/Lib/Ndp387.fth Including /usr/share/doc/VfxForth/Lib/Ndp387.fth ok include novice.4th Including novice.4th NOT is redefined DEFER is redefined IS is redefined S>F is redefined <= is redefined >= is redefined D> is redefined ," is redefined { is redefined BINARY is redefined FIELD is redefined 4DUP is redefined C+! is redefined F+! is redefined 3DROP is redefined 4DROP is redefined F>= is redefined F2* is redefined F2/ is redefined DEG>RAD is redefined RAD>DEG is redefined ok include LC53.4th Including LC53.4th ok test abcdefghijklmnopqrstuvwxyz SAMPLE is encrypted and seed is zeroed; commencing cracking... 0 minutes and 12 seconds The seed is: 263384622 The file is: dsGyvx)Od]O(a)P7X6p7~I ok > > Helmut
From: Slobodan Blazeski on 13 Mar 2010 09:01
On Mar 13, 12:30 pm, Rainer Joswig <jos...(a)lisp.de> wrote: > > > Out of reach *on 32-bit architectures* (if we refrain from using the > > special SBCL/sb-regpair branch)! On 64-bit architectures (which are not > > that rarely encountered nowadays) I observe: > > > > naive Lisp version: > > > SBCL 1.0.35.8 : 67 seconds > > > > Nikolas' version: > > > SBCL 1.0.35.8 : 15 seconds > > Nikolas version in LispWorks 6 64bit on my 2.33 Ghz MacBook Pro: > > CL-USER 209 > (lc53::test) > abcdefghijklmnopqrstuvwxyz > > SAMPLE is encrypted and seed is zeroed; commencing cracking... > Timing the evaluation of (LC53::FIND-SEED) > > User time = 11.453 > System time = 0.102 > Elapsed time = 11.521 > Allocation = 653423424 bytes > 50 Page faults > > The seed is: 174187923 > The file is: > <B!qzoPDJgmI]mUXwD@ > NIL > > --http://lispm.dyndns.org/ Could you try running the forth code just for comparison? On my machine Ubuntu 9.10 21s(Neuss) sbcl vs 12s for VFX Forth doesn't look bad. Actually even unoptimized code 64 s isn't so bad. Unless gforth could do much better then Vfx forth http://www.mpeforth.com/ which is the only one that works. Slobodan |