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-unexec experiences


>>>>> "Russ" == Russ McManus <russell.mcmanus@gs.com> writes:

    [...]

    Russ> So I decided to take a look at guile-unexec, and see if I
    Russ> could integrate it into my program.  After a couple of days
    Russ> of effort, I've gotten everything working, and the program
    Russ> now starts up in a flash!

    Russ> Although most of the problems I ran into were easy to
    Russ> resolve thanks to the excellent notes that come with
    Russ> guile-unexec, there were a couple of extra gotchas. I will
    Russ> try to summarize all the relevant information here.

    [...]

    Russ> That's all I can think of for now.  Hopefully, I'll get the
    Russ> itch to produce a version of guile-scsh that does the unexec
    Russ> dance, so that it can actually be used for writing small
    Russ> scripts.  I guess I would need to have an implementation of
    Russ> unexec for more platforms than just ELF.

    Russ> I think that the possibilities for this technology in
    Russ> relation to guile are fantastic, and it's probably worth
    Russ> some additional effort to make unexec friendlier to use, and
    Russ> supported on more platforms.

You may be interested in looking at guile-hobbit-1.3.2 (compilation
option --dump) which permits to build compiled and unexeced
applications. Works on Linux, SunOS and HP-UX.
A non-trivial exemple of this use is given by guile-stklos-1.3.1.

During the interim period between guile-1.2 and guile-1.3,
guile-hobbit could compile a hacked boot-9.scm to unexeced code.
This provided an instantaneous start-up time for guile.

To avoid to the end users the hassle of dealing with slightly
incompatible boot-9.scm versions, I did not distribute 
in guile-hobbit-1.3.2 the support for compiling boot-9.scm.
It is expected to change as soon as boot-9.scm stabilizes.

--

B. Urban