[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] CVS update: hygienically unhygienic
From: |
Peter Keller |
Subject: |
Re: [Chicken-users] CVS update: hygienically unhygienic |
Date: |
Sat, 14 Dec 2002 16:02:08 -0600 |
User-agent: |
Mutt/1.4i |
On Sat, Dec 14, 2002 at 10:37:10PM +0100, felix wrote:
> I forgot some files. But I checked them in right after the first commit.
> It should work now. Otherwise simply remove the dependency for that file.
I got it all working now.
> A good question. I say it is. The way literals are created at run-time
> is safe and simple. But large literals blow up the toplevel procedure
> considerably. And large C functions blow up GCC compile times.
>
> Yet, I don't find a better compilation strategy for Scheme than the
> one Chicken uses: the alternative (a driver loop - used for example
> by Gambit) is IMHO problematic: you generate large functions
> (in fact I got reports from failed GCC compiles with Gambit 4.0:
> the use of computed gotos in the new release create a huge number
> of control-flow edges... which make compilation times excessively
> long when string optimizations are used). Chicken generates
> (besides the toplevel procedure) many small functions.
>
> Cross module calls are very cheap. Orders of magnitudes cheaper
> than under Gambit. So dynamically loaded code and separate compilation
> scales actually *much* better under Chicken.
>
> Chicken is actually faster than Gambit in many mixed mode arithmetic
> benchmarks - but this is of course simple if you have only two numeric
> types, Gambit has more dispatching overhead since it supports the
> full numeric tower.
>
> So what have we left: the "cheaters" (:-) Bigloo and Stalin - and
> both have no full support for tail-calls and/or first class continuations
> ('nuff said).
Ok. I understand now.
> >MAC OSX! MAC OSX! :)
>
> Huh? AFAIK Chicken works fine under the current Mac OS X.
> But not version 10.2 (Jaguar). There are some libtool problems, I think.
It is so unbelieveably rare that something works on Mac OS X before it works
on an original BSD box, that I am just besides my self with chagrin.
:)
-pete