> Most of the fully-typed versions of our projects ran about the same as the > fully-typed ones, and sometimes faster.
Yes, the fully-typed ones run as fast as the fully-typed ones. ;) I think you meant: "Most of the fully-typed versions of our projects ran about the same as the fully-untyped ones, and sometimes faster." ~Leif Andersen On Fri, Dec 4, 2015 at 6:38 PM, Benjamin Greenman <benjaminlgreen...@gmail.com> wrote: >> now I feel bad about helping kill TR > > > Far from it! Quad (and the math library, etc) are inspiring the bright > futureā¢ of Typed Racket. The next paper should be titled "No!", based on > improvements since today's results. > > [[ From an academic perspective, this paper is about establishing an > evaluation framework for gradual typing ]] > > The end-user message from this paper is not "you should avoid Typed Racket". > Most of the fully-typed versions of our projects ran about the same as the > fully-typed ones, and sometimes faster. The caveats were: > > Projects using an untyped library slowed down in the fully-typed case > > Quad, which used type-generated predicates to do typechecking at runtime. > (Predicates are just functions -- they're a slow alternative to compile-time > typechecking) > > The message is: you should be very careful about mixing typed and untyped > code. Passing higher-order functions over a boundary is obviously expensive. > Less obvious is that sharing a large list across a boundary triggers an O(n) > check at each crossing. > > We already knew these costs were bad. The surprise was that nearly all ways > of gradually typing many programs led to slowdowns of at least 10x. So the > promise that you can freely mix typed and untyped code is an empty one. > > [[ Going forward, we're looking into making less-expensive (or smarter) > contracts for types and program analysis tools to help avoid the expensive > boundaries. As a first step, struct predicate functions are now "trusted" to > have (-> Any Boolean) type and we've seen improvements like this (the bottom > graph is current, read it as "almost 60% of gradually-typed configurations > run with at most a 10x slowdown") ]] > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.