texmacs-dev
[Top][All Lists]
Advanced

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

Re: [Texmacs-dev] Disastrous boot time for new versions


From: Joris van der Hoeven
Subject: Re: [Texmacs-dev] Disastrous boot time for new versions
Date: Wed, 5 Mar 2003 09:32:23 +0100 (MET)

> On Monday March 03 2003 06:34, Joris van der Hoeven wrote:
> > I have continued the reorganization of the Guile/Scheme interface.
> > Unfortunately, we have to pay a big price for that: the boot time
> > explodes. On a 1GHz PC, I noticed an increase of about 3.5 sec (so 17.5
> > sec on a 200MHz PC?). This is clearly unacceptable, so we will have to
> > work hard to reduce this to a more acceptable increase (1 sec would be
> > reasonable, since almost all menu/keyboard logic has been transferred).
> >
> > _______________________________________________
> > Texmacs-dev mailing list
> > address@hidden
> > http://mail.gnu.org/mailman/listinfo/texmacs-dev
> 
> If I recall correctly there is a powerful technique to drastically
> cut the startup time. It is (or was) used by TeX and Emacs and is sometimes
> referred to as "unexec".
> 
> The idea is quite simple. During last stages of the build process the
> program starts, loads in all the standard configuration information
> (*.elc for Emacs, format file for TeX) and then dumps the memory in
> ELF executable format.  This memory dump becomes the real executable
> for the program.  Starting this new executable effectively bypasses
> loading and processing of the startup scripts and config.files which
> apparently dominated TeX or Emacs startup process.
> 
> There are two drawbacks here:
> 1: portability might become an issue
> 2: executable has now larger footprint (mute point by today's disk space 
> standards)

Yes, this might be an interesting idea, but maybe not for now,
since it is quite complicated to implement and I also fear that
it will not always work. Indeed, the startup need not always to
be identical; TeXmacs might for instance discover new plugins.

One thing I currently do have in mind is to postpone a lot of
things which are done at boot time. For instance, there is no need
to load the LaTeX<->TeXmacs and Html<->TeXmacs converters;
this may be done when we actually need to do a conversion.

Nevertheless, the increase in boot time scares me,
because we want to move much of the top level interface to Guile.
So even if I postpone whatever possible, this will still leave
us with a lot of code to be executed. So we might have to consider
your idea at some point. Maybe it would also be possible to
let guile create a dump of all (or a selection of) variables
which have been declared at a given point and save this in a file.
This would remove drawback 1.

A slightly different point: I also noticed that TeXmacs takes
a lot of  time to boot after a reboot of the computer.
Subsequent runs are much faster. Now I know that applications
are being cached, but still: TeXmacs takes a comparatively long
time to boot with respect to programs of a similar size.
Someone has an idea about that?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]