chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Re: compiling jbogenturfa'i .scm => .c takes 2.5 hou


From: Felix
Subject: Re: [Chicken-users] Re: compiling jbogenturfa'i .scm => .c takes 2.5 hours
Date: Sat, 27 Nov 2010 23:55:21 +0100 (CET)

> 
> Reviewing the output from -debug 2, and rereading R5RS's
> documentation on letrec, I've reworked the compiler and moved
> the lambda that was being created for each use of a letrec variable
> to the definition: '(record (lambda () ...)' rather than (record ...).
> I changed the appearance of 'record' in other letrec definitions to
> '(record)' rather than '(lambda () record)'.
> 
> Essentially, I'm definining a lambda for each element in the letrec
> (~880 elements) rather than for each usage (many, many more than
> 880).
> 
> The file now compiles in minutes rather than hours, and it is
> roughly 7MB in size, rather than 61MB.
> 
> I haven't checked this change in yet, as my left/right recursion tests
> now fail and I broke any non-terminal where memoization is turned off:
> This change was a proof of concept that I now need to clean up.
> 
> However, things are looking good.  I'll report back after I've
> cleanup up and checked in all the code to confirm that everything is
> working.  So far, this does look like the culprit.
> 

Excellent. Please keep us up to date about this.


cheers,
felix



reply via email to

[Prev in Thread] Current Thread [Next in Thread]