mflatt
2018-1-4 15:36:29

Please don’t advertise this link – probably the content belong on the Racket blog – but here’s a draft report on the Racket-on-Chez status: http://www.cs.utah.edu/~mflatt/rkt-on-chez-jan-2018/ Feedback/questions welcome toward the final version.


samth
2018-1-4 15:57:06

Why are there two lines on the third build-plot chart?


samth
2018-1-4 15:58:41

Two things that might (or might not) be worth discussing: how does Chez do cross module optimization? Can we skip the Chez expander?


samth
2018-1-4 16:00:15

Also, are the measurements with Gustavo’s type based optimization patch?


mflatt
2018-1-4 16:15:37

There are two lines in every build plot: before and after a major GC. I’ll revise the text describing the plots to clarify. Chez Scheme’s cross-module optimization is described in Andy Keep’s dissertation. I have an extended version of this report that talks about my plan for cross-module optimization; short version: it looks easiest to add it to schemify. We can’t easily skip the Chez Scheme expander, but I don’t think it’s the source of much slowdown. No, the measurements do not use Gustavo’s patch. Mentioning that patch is another part that got cut, but I’ll look at bringing that back. In case you’d like you see the other cut parts and rescue any of them: http://www.cs.utah.edu/~mflatt/rkt-on-chez-jan-2018-ext/


samth
2018-1-5 03:20:35

Thanks. To my mind, there’s one big unanswered question after reading the long version, which is why is compiling with Chez so slow. Is it the optimizer, or native code generation, or how Racket bytecode works, or something else. I remember before the Chez project started, you wrote something breaking down the slowdown of the new expander. I don’t know if you have estimates like that now, but that’s my big question.


samth
2018-1-5 03:22:39

For the broader post, I think I would try to add a few things. One is some high level takeaways at the beginning. Second is info on how to get and build the current status. Third is how people can help (such as by testing their ffi-using libraries).