unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* A big hole where the evaluator used to be...
@ 2009-12-03 19:08 Neil Jerram
  2009-12-11 10:27 ` Andy Wingo
  0 siblings, 1 reply; 5+ messages in thread
From: Neil Jerram @ 2009-12-03 19:08 UTC (permalink / raw)
  To: Guile Development

Exciting times!  Much kudos to Andy, who has just merged a big and
interesting change, the effect of which is essentially to stop using the
old C-coded evaluator.

(Actually it's not quite true that there's only a hole left.  We still
need a basic C evaluator for bootstrapping, but it's much smaller and
simpler than what was there before.)

FWIW, building and make check all look good to me.  There are some
noticeable benchmark changes - some slower and some faster - which I'll
look more into.

Regards,
        Neil




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: A big hole where the evaluator used to be...
  2009-12-03 19:08 A big hole where the evaluator used to be Neil Jerram
@ 2009-12-11 10:27 ` Andy Wingo
  2009-12-11 16:50   ` Neil Jerram
  0 siblings, 1 reply; 5+ messages in thread
From: Andy Wingo @ 2009-12-11 10:27 UTC (permalink / raw)
  To: Neil Jerram; +Cc: Guile Development

hi,

On Thu 03 Dec 2009 20:08, Neil Jerram <neil@ossau.uklinux.net> writes:

> Exciting times!  Much kudos to Andy, who has just merged a big and
> interesting change, the effect of which is essentially to stop using the
> old C-coded evaluator.

Thanks! I finally had time to write up some of this here:

   http://wingolog.org/archives/2009/12/09/in-which-our-protagonist-forgoes-modesty

> FWIW, building and make check all look good to me.  There are some
> noticeable benchmark changes - some slower and some faster - which I'll
> look more into.

Another side of this is compile-time speed; psyntax-pp.scm takes forever
to compile now, like 4 or 8 minutes. I need to pull in statprof to see
what's going on.

Cheers,

Andy
-- 
http://wingolog.org/




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: A big hole where the evaluator used to be...
  2009-12-11 10:27 ` Andy Wingo
@ 2009-12-11 16:50   ` Neil Jerram
  2009-12-11 19:18     ` Andy Wingo
  2009-12-11 22:56     ` Ludovic Courtès
  0 siblings, 2 replies; 5+ messages in thread
From: Neil Jerram @ 2009-12-11 16:50 UTC (permalink / raw)
  To: Andy Wingo; +Cc: Guile Development

Andy Wingo <wingo@pobox.com> writes:

> Thanks! I finally had time to write up some of this here:
>
>    http://wingolog.org/archives/2009/12/09/in-which-our-protagonist-forgoes-modesty

Nice.  But I didn't understand where you said that all the unit tests go
through the evaluator.  Apart from those that use eval explicitly, don't
they all just get compiled and VM'd?

> Another side of this is compile-time speed; psyntax-pp.scm takes forever
> to compile now, like 4 or 8 minutes.

And much longer than that (~30 mins?) on my ancient P3 laptop!  (But
it's still worth it!)

Regards,
        Neil




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: A big hole where the evaluator used to be...
  2009-12-11 16:50   ` Neil Jerram
@ 2009-12-11 19:18     ` Andy Wingo
  2009-12-11 22:56     ` Ludovic Courtès
  1 sibling, 0 replies; 5+ messages in thread
From: Andy Wingo @ 2009-12-11 19:18 UTC (permalink / raw)
  To: Neil Jerram; +Cc: Guile Development

On Fri 11 Dec 2009 17:50, Neil Jerram <neil@ossau.uklinux.net> writes:

> Andy Wingo <wingo@pobox.com> writes:
>
>> Thanks! I finally had time to write up some of this here:
>>
>>    http://wingolog.org/archives/2009/12/09/in-which-our-protagonist-forgoes-modesty
>
> Nice.  But I didn't understand where you said that all the unit tests go
> through the evaluator.  Apart from those that use eval explicitly, don't
> they all just get compiled and VM'd?

They don't, actually. They are all run with the evaluator. See
609edba7eaa2bb30df90a09541a48d97ab4a3bf8. We should probably enable it
again now.

>> Another side of this is compile-time speed; psyntax-pp.scm takes forever
>> to compile now, like 4 or 8 minutes.
>
> And much longer than that (~30 mins?) on my ancient P3 laptop!  (But
> it's still worth it!)

Uf, 30 minutes. Way too long, eh. I agree it's worth it but that we need
to profile things and see what improvements we can get. Also, we could
focus on compiler improvements that would help the evaluator -- computed
goto might be a good one, so that our memoized-expression-case could
compile to something that looks more like the compilation of `case'.

Peace,

Andy
-- 
http://wingolog.org/




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: A big hole where the evaluator used to be...
  2009-12-11 16:50   ` Neil Jerram
  2009-12-11 19:18     ` Andy Wingo
@ 2009-12-11 22:56     ` Ludovic Courtès
  1 sibling, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2009-12-11 22:56 UTC (permalink / raw)
  To: guile-devel

Hi,

Neil Jerram <neil@ossau.uklinux.net> writes:

>> Another side of this is compile-time speed; psyntax-pp.scm takes forever
>> to compile now, like 4 or 8 minutes.
>
> And much longer than that (~30 mins?) on my ancient P3 laptop!  (But
> it's still worth it!)

I agree that it’s very slow (the total build time got 4x longer), but
there’s a positive way to look at it: if Guile needed an older version
of itself, or another Scheme to compile itself (as Larceny and SBCL do,
for instance), the whole compile cycle would take a lot of time too,
maybe even longer.  Worse is better!  :-)

Thanks,
Ludo’.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-12-11 22:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-03 19:08 A big hole where the evaluator used to be Neil Jerram
2009-12-11 10:27 ` Andy Wingo
2009-12-11 16:50   ` Neil Jerram
2009-12-11 19:18     ` Andy Wingo
2009-12-11 22:56     ` Ludovic Courtès

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).