This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Guile Startup Time Suggestion


>>>>> "Karl" == Karl M Hegbloom <karlheg@inetarena.com> writes:

>>>>> "Bernard" == Bernard URBAN <Bernard.Urban@meteo.fr> writes:
>>>>> "Russ" == Russ McManus <mcmanr@eq.gs.com> writes:

    Russ> Along these lines, I have thought that a fruitful way of
    Russ> improving guile's startup performance would be to first
    Russ> build a basic guile, and then that guile could invoke the
    Russ> hobbit compiler to compile the guile init files.


    Russ> A similar architecture would work with unexec, but it would
    Russ> probably be less friendly when attempting to build a special
    Russ> application that includes all of guile, including the init
    Russ> files.

    Bernard> On several platforms, unexec and dynamic loading cannot
    Bernard> live together.

    Karl>  Why is that so?  Can you please breifly explain?  (and
    Karl> maybe point me at a book)

Better than a book, is to test yourself... 

I have tested guile with unexec and dynamic loading on Solaris, HP-UX
and Linux. This is quite a year old, so from memory, only on Solaris
did they cooperate smoothly.

That is, the dumped executable cannot dyn-link a separate .so or .sl
module.

This is different from being able to use libc.so etc... which works
mostly fine (as a another post noticed). May be the problem has to do with gc.
 
The above tests were performed with guile-hobbit (not guile-comp)
and gstklos (for both, see the contrib/misc directory on red-bean).

I you want to test the above,
use guile versions before May 98, as
the current snapshots break gstklos, I am investigating the problem.

--

B. Urban