On Fri, Sep 20, 2013 at 3:48 PM, Sam Tobin-Hochstadt <sa...@cs.indiana.edu> wrote: > I decided to look at why 'make' with a fully-built install takes a > long time, and got a surprising result. First, the 'link-all.rkt' > script takes about 17 seconds on my machine, almost all of it in > `pkg-install`. I then profiled this, and got the surprising result > that the majority of the time is spent resolving module names:
The first result of my investigation is that this is getting the value of both `current-load-relative-directory` and `current-directory` every single time it calls `current-module-name-resolver`, which is in the thousands. So I think a bit of time can be saved there. On smaller sets of packages, this seems to make a big difference, on the full set, less so. It's also using exception handling for control flow -- having `current-module-name-resolver` take a failure callback might make this faster as well, although I wasn't about to get a build with that change not to segfault. Sam _________________________ Racket Developers list: http://lists.racket-lang.org/dev