This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: Proposal for a Guile binary file format
Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:
> But, 4-word cells would give many new opportunities in the type
> system, and would really be a big advantage in more ways than this.
Yes, agreed.
> > This reminds me of the freezer.
>
> Yes, I should have made a reference to the freezer. I thought that
> maybe a binary format would be more portable (not for transportation
> but in the sense that it could be compiled and used on more
> architectures, even those which lack dynamic linking support).
Yes, definitely. Using mmap, you should get the same damand paging
and sharing behaviour as for a shared library.
> > Another, longer road would be to have some kind of bytecode format and
> > compile to that. [...]
>
> MzScheme is probably a good existence proof that Aubrey is wrong.
> MzScheme is faster than scm. (But it is the only one!)
In what way is it faster? Does it execute pre-compiled bytecodes
faster than SCM does its combined memoization and execution stuff? Or
is it faster including bytecompil phase? I'll go have a look myself.
> > I would pay the price of slower loading of uncompiled Scheme source
> > when we would instead have a good compiler that produces binary code
> > that can be loaded fast and executes fast.
>
> Me too. This is surely the best way. It's just that I wouldn't like
> to wait for another three years before scwm starts quickly on my
> computer.
As a hack, I think unexec works quite well. Hmm, now that I think of
it, its not much more than a way to have a preconsed heap loaded from
a binary format, without any memoization. So maybe I was wrong with
my gut feeling.
> > Ok, to summarize, my gut feeling is that a binary format for
> > unmemoized source code might not give us a significant speedup, but
> > I'm not sure.
>
> I'd say it looks like an interesting hack which could be tested.
Yes.
- Marius