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 > sa...@ccs.neu.edu _________________________ Racket Developers list: http://lists.racket-lang.org/dev