Dr Anna Krystallli
R-RSE
Research Software Engineering Consultant, r-rse
Editor rOpenSci
Founder & Core Team member ReproHack
In this course we’ll explore:
Benchmarking and profiling code
Best practice for writing performant code in R
Best practice in working efficiently with data
Parallelising workflows
Computation
Converted directly into machine code that the processor can execute.
Tend to be faster and more efficient to execute.
Need a “build” step which builds for system they are run on
Examples: C, C++, Erlang, Haskell, Rust, and Go
Code interpreted line by line during run time.
significantly slower although just-in-time compilation is closing that gap.
much more compact and easy to write
Examples: R, Ruby, Python, and JavaScript.
R offers some excellent features: dynamic typing, lazy functional evaluation and object-orientation
Side effect: operations are undertaken in single-threaded mode, i.e. sequentially
Many routines in R are written in compiled languages like C & Fortran.
R performance can be enhanced by linking to optimised Linear Algebra Libraries.
R offers many ways to parallelise computations.
Many packages wrap more performant C, Fortran, C++ code.
I normally like to live code…BUT!
There’s a lot of materials to get through so I will be copying & pasting from the materials alot
Have the materials handy to follow along
Please stop me for questions or to share your own experiences
Lunch around 1pm