[racket-dev] Surprising timings for loading Typed Racket
I get about the same results, and if I try
time racket -W debug -t tnull.rkt
time racket -W debug -t rlnull.rkt
then I see substantially more GC time for the former.
I think the difference is GC variance due to the order that modules get
loaded. If I try
time racket -W debug -l racket/base -t tnull.rkt
time racket -W debug -l racket/base -t rlnull.rkt
then the times are extremely close, and I also see very similar GC times.
The "here.rkt" in decompiled output is bad, and I'll try to fix that,
At Thu, 12 Jul 2012 11:15:58 -0400, Sam Tobin-Hochstadt wrote:
> I'm trying to reduce the startup overhead imposed by Typed Racket, and
> I'm running into a mystifying problem
>
> If you look here at https://gist.github.com/3098628 you'll see two
> small files, `tnull.rkt` and `rlnull.rkt`. The former is an empty
> file written in `typed/racket/base`. The latter is an attempt to
> generate exactly the same expanded program manually. I've also
> included the decompiled output for both files, which appears to show
> that everything in the compilation of `tnull` is in the compilation of
> `rlnull` (`rlnull` has a few *more* explicit requires, equalizing this
> has no effect).
>
> However, as the transcript shows, just running the `tnull.rkt` file
> takes about 1/3 longer than running `rnull.rkt`. Is there an obvious
> reason for this, and can I affect it? Could the actual difference be
> made clear in the decompiler output?
>
> As an aside, the `(require "here.rkt")` idiom for `(module* name #f
> ...)` in the decompiler output was pretty confusing the first time I
> saw it.
> --
> sam th
> samth at ccs.neu.edu