Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Making R run Fast - Jan Vitek

    John O'Neill

    3 HN recommenders · recommended in 4 months, 2017–2023

    YouTube

    1:21:39 · 865 views · Mar 2, 2016

    Jan Vitek of Northeastern University gives a meetup talk on the challenges of making the R language run fast. He explains what in R's semantics makes it hard to optimize and to build a JIT compiler for.

    HN points to it as the best explanation of why R is so hard to optimize, often paired with talks on Python and used to explain what makes Julia fast.

    Software Engineering & LanguagesCompilers, interpreters & program analysisSoftware performance & optimizationData science & statistics
    1. 26:34
      Shared memory parallelism in Julia | Kiran Pamnany | Cambridge Julia Meetup (May 2018)The Julia Programming Language6.8K views • 8 years ago
    2. 49:55
      How Python was Shaped by leaky Internals, Armin Ronacher, Flask frameworkВидео с мероприятий {speach!20K views • 10 years ago
    3. 2:50:14
      Simple Code, High PerformanceMolly Rocket464K views • 5 years ago
    4. 59:11
      How to Speed up a Python Program 114,000 times.InfoQ171K views • 13 years ago
    5. 1:02:44
      Chris Seaton @ VMSS16: JRuby+Truffle: Why it’s Important to Optimise the Tricky Partssoftdevteamuk5.1K views • 10 years ago
    6. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    7. 13:45
      A 10x faster TypeScriptMicrosoft Developer608K views • 1 year ago
    8. 47:52
      Parsing JSON Really Quickly: Lessons LearnedInfoQ86K views • 6 years ago
    9. 52:54
      Rust at speed — building a fast concurrent databaseJon Gjengset225K views • 7 years ago
    10. 42:15
      "Performance Matters" by Emery BergerStrange Loop Conference502K views • 7 years ago
    11. 46:10
      Understanding the Python GILDavid Beazley127K views • 14 years ago
    12. 22:41
      "Clean" Code, Horrible PerformanceMolly Rocket1.2M views • 3 years ago
    13. 1:00:40
      Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrencyHydra47K views • 7 years ago
    14. 1:04:48
      "Performance (Really) Matters" with Emery BergerAssociation for Computing Machinery (ACM)7.1K views • 6 years ago
    15. 42:44
      Armin Ronacher - A Python for Future GenerationsEuroPython Conference6.2K views • 9 years ago
    16. 1:15:09
      Cliff Click @ VMSS16: Bits of Advice For the VM Writersoftdevteamuk4.2K views • 10 years ago
    17. 1:01:37
      Compiling and Optimizing Scripting LanguagesGoogle TechTalks21K views • 17 years ago
    18. 18:41
      Refterm Lecture Part 1 - Philosophies of OptimizationMolly Rocket93K views • 5 years ago
    19. 1:02:17
      'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]ACCU Conference34K views • 10 years ago
    20. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago

    4 comments from Hacker News

    1. @StefanKarpinskiJun 2018· in “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] this video Take everything mentioned in these videos that make Python and R really hard to optimize and don't do those things :D

      RecommendsView on HN
    2. @lottinOct 2018· in “Faster R with FastR”

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

      RecommendsView on HN
    3. @simonbyrneJul 2017· in “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: this video Also, my favourite R trick: foo <- function() {rm(foo, envir=environment(foo))}

      RecommendsView on HN
    4. @ChrisRackauckasFeb 2023· in “ML would have advanced faster if another front-end language had been adopted?”

      This is disregarding the development of said ecosystems though. The point is that Python has been quite inhibitory to the development of this ecosystem. There are many corpses of automatic differentiation libraries (starting from autograd and tangent and then to things like theano to finally tensorflow and pytorch) and many corpses of JIT compilers and accelerators (Cython, Numba, pypy, 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 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 vs jax vs etc., to choose something that is nice for ML vs for more generic codes. With all of that, it's perfectly reasonable to point out that there have been languages which have been designed to not have the compilation difficulties, which have resulted having a single (JIT) compiler for the language. And by extension, it has made building machine learning and autodiff libraries not something that's a Go

      CitesView on HN