[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Pascal POIZAT writes:
 > Hello, I mail for someone I know that uses Clisp on a PC (486).
 > He complains because it's too slow.
What does "too slow" mean? too slow for what? too slow in what? There
are so many things a Common Lisp does that he should be more precise.

 > setq pretty-print t ?
If output to the terminal is slow, this helps (actually it's named
*pretty-print*) and this is what is being done in the cfgamiga.lsp and
thus is in any .mem file for the Amiga since CLISP-beta3
approximately. On the Amiga, output to the console is done so that you
can _read_ the what's printed.

 > recompile it ? (gcc -O2 :)
Don't you think we don't use -O6 :-)

 > tell me if it is really slow ?
What? file-output? garbage-collection? list traversal? compiled-loops?
hash-table access? compilation? the byte-code-interpreter?

File-io is slower than what typical C programs get because CLISP
calls seek() before almost every read() or write(). Seeking may
involve a lot of overhead.

 > PS: I noticed Clisp became more slow with CLOS package (use-package 'CLOS)
Only using the package shouldn't change anything, but of course
programming with CLOS (or many object oriented languages) introduces
some overhead for type tests.

 > PS2: I think it is not CLISP that is slow but the printings.
 >      I had some kind of "Motif"Window and when I launch CLisp on an
 >      usual-no-fancy-tools window it is less slow.
What's a the difference between those windows? (CON: and KCON:?)
How do you measure speed?

 >      But I also noticed printings are now (jan. 94) slower than in the version
 >      I had before (I got it in May. 92 I think).

More features, more processing time would one think. I'm also under
the impression that CLISP became slower over time (eg. my CLISP-beta2
from early 1992 against now) but as far as I'm concerned I did never
investigate the possible causes. Maybe it's simply the GC that has to
walk through more objects. Maybe it's more.

 	Joerg Hoehle.