[racket-dev] [plt] Push #24367: master branch updated

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Feb 28 16:30:04 EST 2012

On Tue, Feb 28, 2012 at 3:02 PM, Kevin Tew <tewk at cs.utah.edu> wrote:
> I think this will be a great compromise between the status quo
> and earlier work when I created a dependency graph for all .rkt files
> in collects.
>
> The dependencies between collections is likely to change less often.

I started with something that only looked at dependencies between
top-level collects (and that produces a graph that 'neato' can render
in a way that is actually human readable), but since the
sub-collections are not treated differently than top-level ones by
'raco setup', I built a graph based on that and sadly that one is not
really legible.

Anyways, my timing tests are based on this bigger graph.

One possible concern is that it takes several hundred lines just to
write down the list in order. (I think it is about 250 lines and so I
think this is still okay, but the collection-level ordering is much
shorter.)

> How expensive is calculating the dependencies between collections?
> I assume you have to look at the dependencies for every .rkt file in each
> collection. Yes?

Right.

Once the dep files are built, it looks like it takes about 5 seconds
on my laptop (half of which is breaking the cycles, which can probably
be done in a smarter way if we cared to speed things up; the other
time goes to reading the dep files and doing the topological sort).

Robby

Posted on the dev mailing list.