Skip to content
0:00 / 0:00

#r#jitcompiler#optimization

Making R run Fast - Jan Vitek

John O'Neill

248 subscribers • 1 video on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • Presented by Jan Vitek, Professor at Northeastern University

Advanced. Deep dive for people who know the field.

864 views10 years ago3 recommendations

Programming languagesSystems programmingCompilers and interpretersPerformance and optimizationLanguage design and type systems

Jan Vitek explains the semantic design choices of the R language that make it exceptionally difficult to optimize and build a JIT compiler for.

Jan Vitek of Northeastern University - Making R run Fast Greater Boston useR Group (R Programming Language) IBM Cambridge, February 26th, 2016

Why it's here

3 people recommend this

What people say. Recommended as a fantastic explanation of the language design choices that prevent languages like R and Python from running fast.

simonbyrneon Hacker News • Recommends

On “Back to the Future: Lisp as a Base for a Statistical Computing System [pdf]”

Another talk on the difficulty of optimising R is this fantastic one by Jan Vitek: link to this video Also, my favourite R trick: foo <- function() {rm(foo, envir=environment(foo))}

StefanKarpinskion Hacker News • Recommends

On “My favorite things that are coming with Julia 1.0”

Perhaps the best way to understand what makes Julia fast is to watch these two videos about Python and R and what makes them so hard to optimize: link link to this video Take everything mentioned in these videos that make Python and R really hard to optimize and don't do those things :D

lottinon Hacker News • Recommends

On “Faster R with FastR”

I recommend watching this video - Making R run fast link to this video It's a little disappointing, because the conclusion is that R will probably never "run fast", but very interesting nonetheless.

ChrisRackauckason Hacker News • Mentions

On “ML would have advanced faster if another front-end language had been adopted?”

…and TensorFlow XLA, now PyTorch v2's JIT, etc.). What has been found over the last decade is that a large part of that is due to the design of the languages. Jan Vitek for example has a great talk which describes how difficult it is to write a JIT compiler for R due to certain design choices in the language ( link , or the more detailed version link to this video ). There are certain language constructs that void lots of optimizations which have to then be worked around, which is why Python JITs choose subsets of the language to avoid specific parts that are not easy to optimize or not possible to optimize. This is why each take a domain-specific subset, a different subset of the language for numba…