[racket] "raco setup -c my-collect" takes a long time

From: Laurent (laurent.orseau at gmail.com)
Date: Thu Nov 29 09:03:45 EST 2012

On Thu, Nov 29, 2012 at 1:49 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:

> I guess just using `(define-logger x11)' and `log-x11-debug' isn't
> enough control?
>

The X11 logger (which could still use define-logger I suppose) is used to
print all X ffi calls to standard output, so this requires a (few) level of
indirection in each `_fun' definition.
I really want to avoid this unnecessary cost when debugging info is not
wanted.


> The `--mode' argument to `raco setup' is more intended for this
> situation, but it requires a little work to create a mode. Carl's
> suggestion of PLTCOMPILEDROOTS may be simpler (though, again, it's not
> really meant for this job).
>

It looks like PLTCOMPILEDROOTS does what I want. Thanks Carl for the
suggestion.
(Btw, the docs are a bit rough on this subject, but your email of Sept. 11
on the dev list gives extensive information. It would probably be a good
idea to at least link to it somehow or integrate it in the docs maybe.
The email:
http://lists.racket-lang.org/dev/archive/2012-September/010386.html )


> I can see how `raco setup -c' is an even simpler solution. The problem
> in `raco setup -c' is parsing the command line to decide whether to
> bootstrap `raco setup' itself from source --- and that decision has to
> be made before loading the command-line parser that is part of `raco
> setup'. There's a little conservative parser that triggers bootstrap
> mode is it detects anything that looks like `-c'. Maybe the solution is
> to have a different flag that isn't treated specially, and so it works
> only on collections that aren't used to implement `raco setup'.
>

That could probably be useful in general, but now it's less necessary to me.

Thanks,
Laurent


>
> At Thu, 29 Nov 2012 13:34:40 +0100, Laurent wrote:
> > Because x11-racket compilation depends on an environment variable to
> decide
> > if it should compile with debug info or not.
> > So if I want to recompile with a different debug option without modifying
> > the source files it seems I need to remove the `compiled' directories,
> > right?
> > It seems that `raco setup' does not recompile if the source have not
> > changed (based on a hash I presume, since touching the files does not
> force
> > recompilation either).
> > The `--force' option does not do what I want either it seems.
> >
> > Or maybe there is a better way to do that?
> >
> > Laurent
> >
> >
> > On Thu, Nov 29, 2012 at 1:22 PM, Matthew Flatt <mflatt at cs.utah.edu>
> wrote:
> >
> > > `raco setup -c' is intended to reset a whole installation, and so it
> > > doesn't adapt well to having a collection specified.
> > >
> > > Can you explain more why you need `raco setup -c my-collect' instead of
> > > just `raco setup my-collect'?
> > >
> > > At Thu, 29 Nov 2012 09:35:01 +0100, Laurent wrote:
> > > > Hi,
> > > >
> > > > Doing
> > > > $ raco setup -c my-collect
> > > > takes about 30s to "bootstrap from source", and it does that for each
> > > such
> > > > invocation.
> > > >
> > > > Is it possible to reduce this time? It makes "raco setup -c" almost
> > > > unusable.
> > > >
> > > > Laurent
> > > > ____________________
> > > >   Racket Users list:
> > > >   http://lists.racket-lang.org/users
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20121129/f233ee0d/attachment-0001.html>

Posted on the users mailing list.