[racket-dev] massive penalty for (except-in (planet ...) ...) require ?

From: John Clements (clements at brinckerhoff.org)
Date: Thu Feb 17 17:29:18 EST 2011

On Feb 17, 2011, at 2:22 PM, Carl Eastlund wrote:

> Have you tried this with non-planet files?  I'm curious whether the
> planet aspect is really a factor here, or just except-in.

Lightly; this arose because both rackunit and sxml provide 'foldts' (which, honestly, neither one should probably provide, but...). I used the "except-out" on sxml, first, and got killed.  I moved it over to 'rackunit' and it worked fine.

Have I tried moving sxml into a collection? No. Frankly, I feel like I've spent enough time compiling today already :). But you're right, that would be the next thing to test, especially since I have every reason to believe that sxml provides a *lot* more names.

Thanks!

John


> 
> Carl Eastlund
> 
> On Thu, Feb 17, 2011 at 5:18 PM, John Clements
> <clements at brinckerhoff.org> wrote:
>> 
>> On Feb 17, 2011, at 2:12 PM, Carl Eastlund wrote:
>> 
>>> I don't know precisely what is going on here, but I know from looking
>>> at expanded code that straightforward module requires become
>>> straightforward #%requires, while modifications like renaming wind up
>>> expanding out each individual binding as a separate #%require.  So it
>>> seems plausible that except-in, rename-in, etc. might seriously impact
>>> compile time.
>> 
>> Also, FWIW: this is a hard-link planet package, not a normally installed one.
>> 
>> John
>> 
>>> On Thu, Feb 17, 2011 at 5:04 PM, John Clements
>>> <clements at brinckerhoff.org> wrote:
>>>> Running a particular file has been crushingly slow for me, and I finally traced it down
>>>> (apparently) to the addition of an "except-in" wrapper around a planet require.  Adding the
>>>> wrapper changes a consistently sub-1-second compile-and run into a big thrashing
>>>> memory-fest. Is there some kind of invasive renaming that must occur when an "except-in"
>>>> annotation is added to a require?
>>>> 
>>>> John

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4669 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110217/0d9a42fb/attachment.p7s>

Posted on the dev mailing list.