From: Helmut Eller on
* 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
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
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
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
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