-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This is the place to put all progress updates... Continuation of https://docs.google.com/document/d/1Ix9eiJ23F9M309V6NNz9O5WP4sKhlAQVeP0NH1JcUus
Finished thesis: 9.5.2017
Advisor and opponent evaluations: 5.6.2017
(see http://fit.cvut.cz/casovy-plan/szz-ls)
Familiarize yourself with the R language, its bytecode compiler, and interpreter architecture. Familiarize yourself with RIR, an alternative bytecode format, compiler, and interpreter for the language. The R bytecode compiler assumes certain invariants (such as built-in meaning of control flow statements and certain operators) about the code to make the compiled code faster. Analyze similar assumptions that are used by RIR and extend RIR to use assumptions made by GNU-R as well. Identify and implement improvements to the RIR (compiler, bytecode format, and interpreter). Discuss your results.
GNU-R github mirror: https://github.com/wch/r-source
GNU-R mirror with RIR patches: https://github.com/reactorlabs/gnur
RIR: https://github.com/reactorlabs/rir
RIR fork: https://github.com/JanJecmen/rir
In the forked repo: tools/bench-speedup.sh - takes one optional command line argument (hash of revision to benchmark, defaults to HEAD), runs benchmarks and saves the measurments + plots (in png and pdf)
Output backed up here: https://github.com/JanJecmen/dip/tree/master/benchmarks
Added also script to plot history of running times of rir across past revisions. The plot is backed up at the same place (speedup_history.png).