[cl-debian] Anyone willing to package Cedilla?
Peter Van Eynde
cl-debian at pvaneynd.mailworks.org
Fri Sep 16 03:35:37 UTC 2005
Hello,
sorry to reply so late, the clc bug had me in its grip
On Tuesday 30 August 2005 09:26, René van Bevern wrote:
> > More generally, shouldn't the CL-Debian project start thinking about
> > deployment of applications? It seems completely oriented to libraries
> > right now.
>
> This is where implementations put some restrictions. Deploying Common
> Lisp applications is generally difficult.
I've put some numbers to the different options (for clisp and for cedilla that
is) (time is the best of 3 itterations after one warm-up)
- Using clc-require with a script (like it is done now)
$ time /usr/bin/cedilla
Cedilla: Wrong number of arguments -- try "cedilla -?" for help.
real 0m1.530s
user 0m1.296s
sys 0m0.160s
- Concatenated all the fasls (in the right order) into one:
$ time clisp -ansi -q -q -x '(load "c.fas")' -x '(cedilla:cedilla-main)'
T
Cedilla: Wrong number of arguments -- try "cedilla -?" for help.
real 0m1.255s
user 0m1.004s
sys 0m0.048s
- Dumping an image after loading the fasls:
$ time clisp -ansi -q -q -M c.mem
Cedilla: Wrong number of arguments -- try "cedilla -?" for help.
real 0m0.137s
user 0m0.056s
sys 0m0.028s
So the only real improvement over clc-require is to dump a memory image.
> b) One could use the cl-libraries as build-depends, compile the
> application and dump an image to be loaded when the application is
> run. This is very fast, but if one of the cl-libraries has a real
> bug and it is fixed, the delivered application needs to be rebuilt
> to carry its new version in the dumped image. mcvs uses this
> approach and even delivers a whole clisp in its
> package. Applications delivered this way get huge in size, let
> alone the fact that you can not always load a dumped image that
> depends on foreign shared library code.
We could enhance clc to generate dependency information when building an
application and when installing libraries remove all stuff depending on them.
But the problem of foreign libraries remain, and in general the creation of a
dumped image is difficult at best.
I propose that for the moment Common Lisp applications dump manually: they
will have a 'natural' implementation anyway so writing non-portable code is
no problem.
I will try to enhance clc to export a function writing the dependency
information and nuking the cache directory when installing a library that
depends on it.
If we detect patterns of usage after a while we could code that up.
With the dumping of images cedilla would be competitive with the startup time
of other utilities:
$ time groff /dev/null
real 0m0.161s
user 0m0.084s
sys 0m0.016s
Comments?
Groetjes, Peter
--
signature -at- pvaneynd.mailworks.org
http://www.livejournal.com/users/pvaneynd/
"God, root, what is difference?" Pitr | "God is more forgiving." Dave Aronson|
More information about the Cl-debian
mailing list