Re:Pycket: A Tracing JIT For a Functional Language (2015) [pdf]
by sabauma on Monday September 17, 2018 @11:22AM
(#18006770)
I haven't checked in on the development of Pycket in a bit, but much of the recent work has gone into supporting linklets. Last I checked, the performance story for the Scheme and Shootout benchmarks used in the paper haven't changed much.
There are some benchmarks which evaluate Pycket's performance when applied to gradual typing [1]. Pycket does a pretty good job of optimizing the overheads of gradual typing (or at least Racket's implementation strategy), though it by no means eliminates the performance costs.
> There are currently two different modes of evaluation that we refer as OLD and NEW. The NEW Pycket uses linklets and bootstraps the Racket using the expander linklet exported by Racket (version 7+). The OLD Pycket, on the other hand, uses Racket's binary to fully expand the program and generates json asts and evaluates them.
More on linklets: https://docs.racket-lang.org/reference/linklets.html Status of Racket-on-Chez (2018-Jan): http://blog.racket-lang.org/2018/01/racket-on-chez-status.ht...
Back in 2015, a previous thread[2] mentioned a Pixie issue[1], which was closed with "I worked a ton on this, but ran into time issues before the Strangloop conference. At Strangeloop I got talking to one of the authors of Pycket. Unfortunately it sounds like their implementation isn't much better than mine. The amount of load that is put on the JIT due to this sort of interpreter is quite large. In short, I'd rather have a mutable fast interpreter than a immutable mostly fast interpreter. Shelving this work for now. The PR will still exist, but I'm not convinced the features are worth the cost." Pixie's most-recent commit seems a year ago.
My brief unsuccessful search for current Pycket benchmarks did turn up this[3] 2017 thread/paper on the Nash (Guile) tracing JIT.
[1] https://github.com/pixie-lang/pixie/issues/312 [2] https://news.ycombinator.com/item?id=9545628 [3] https://news.ycombinator.com/item?id=13773796