[armedbear-devel] Fwd: [j-devel] Improving startup time: sanity check

Erik Huelsmann ehuels at gmail.com
Tue Nov 3 22:36:22 UTC 2009


On Thu, Oct 29, 2009 at 12:02 PM, Alessio Stalla
<alessiostalla at gmail.com> wrote:
> On Thu, Oct 29, 2009 at 10:49 AM, Tobias C. Rittweiler <tcr at freebits.de> wrote:
>> Erik Huelsmann writes:
>>
>>> forwarding
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: Alessio Stalla <alessiostalla at gmail.com>
>>> Date: Wed, Oct 28, 2009 at 11:20 PM
>>> Subject: Re: [j-devel] Improving startup time: sanity check
>>>
>>> > This brought me to the conclusion that our startup process could be
>>> > much faster, if we decided to delay function object creation until the
>>> > function is actually used: we would eliminate the need to construct
>>> > function objects until they're used instead of creating them when
>>> > their siblings are requested to be loaded.
>>
>> I haven't followed the actual issue, but the autoloading stuff makes
>> abcl-svn feel pretty unresponsive at times, for example when it has to
>> load in the actual pretty-printer code when trying to print a backtrace.
>>
>> If you want to add more laziness please make it optional.
>
> We could add a function, say system:resolve-all-autoloads, that you
> can call in your init file. Then abcl's startup  will be pretty long,
> but later it won't be unresponsive.

Well, the thing I'm talking about now is expressly *not* to autoload
all stuff from a file at once: just load the byte strings (which is
not the performance bottle neck) once and leave it at that until a
specific function is required the first time around. This increases
performance for the autoload, but decreases performance on first-use.

The autoloading mechanism is thus not really the same kind of
autoloading as the one we already have. However, the idea to have a
proxy which delays some resolving/loading action is the same.

I hope that clarifies the intent.

Bye,

Erik.




More information about the armedbear-devel mailing list