Why does Julia need so much RAM?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/Julia

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • julia

    The Julia Programming Language

    The ram Julia uses at startup comes mainly from 3 places. 1. OpenBLAS buffers (this is the biggest by a bunch). Julia allocates a bunch of memory to make matrix multiplication faster. It would be possible (and smart) to deffer this allocation until the user asks to do a large matrix multiplication, (this would be a great PR). 2. LLVM. Julia keeps a compiler in ram so that it can generate code for new method instances. As of 1.8, https://github.com/JuliaLang/julia/pull/41936 will allow Julia to have a much lower memory footprint if you have a sysimage and don't need to define new methods 3. Docs. Julia stores all the docs for every function in ram so you can look up help strings. This could be loaded more lazily.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts