Re: Deploying Common Lisp applications



GP lisper wrote:
On Mon, 23 May 2005 15:45:20 +0800, <bobstopper@xxxxxxxxxxx> wrote:

This often annoys me actually. What's the reason for FASL files
being slow to load in say SBCL?


Annoyed??  Most lispers are probably wondering why you keep
reloading.

THIS Lisper wonders why they're called "FASt Load" files if loading them isn't fast.

I use SBCL for a lot of general purpose programming. It can be a
bit upsetting to see the same program in lisp run much faster in
say perl, but because of the time it takes to load the fasl files
compared to perl modules the overall loading and running takes
several hundred times longer. Dumping cores isn't very practical
for such small scripts. It's a bit of a waste to have many small
scripts each represented by their own 22M core.


I'd say you're wrong. "Very practical" ?? 22M is nothing, what are you using, an 8080? Do you want speed or not?? Clearly you have never learned that:

Speed, Small, Cheap at best, you get 2 out of 3

You'd be so right (yet banal), if only the platitude wasn't "good, fast and cheap: pick any two" Personally, I don't think that the original is always right, though it often provides useful guidance. But people who figure they can just substitute their favourite three criteria into the expression and still have it hold true, they make me wonder....

22M may well be nothing to some people in some situations, but for
others, it represents an (embarrassing, costly, unworkable; pick all
that apply) constraint. I'm not saying that your "just buy more memory,
you cheap ***" response won't change anyone's mind, but the history
of this newsgroup suggests that memory consumption IS a concern for many
who contemplate delivering applications in Lisp, and yours is the
weakest of all arguments explaining why the trade-off is worthwhile. Is
your day job selling C compilers, or are you just THAT bad at explaining
the advantages of (some) Lisps' 22M core files?

The advantages of core files have been pointed out, the suggestion to
 have all your scripts in one core looks good.

Lisp "core files" are a wonderful idea which can markedly speed application load time and memory requirements in some instances. But your support for the suggestion that a user with N independent scripts just load 'em all up and dump a core probably looks, to typical UNIX/C developers, like suggesting: - just stick all your code in one big binary, branch on argv[0] - just compile it into the kernel, rebuild/boot when necessary I.e. stupid. It's a workaround for a problem that doesn't exist in other development/runtime environments, but you haven't enumerated any of the advantages that typical Lisp implementations have over those environments. .