Julia is a well-designed language; it’s fun to write and easy to learn, especially for its niche of technical computing. However, one of the biggest draws for new users is its speed. Julia was designed from the beginning to run fast without heroic implementation efforts. This has allowed it to achieve near-C speeds despite still having only a handful of full-time developers. I’ll talk about some of the key things Julia does to be fast, from aggressive specialization to best-effort type inference and beyond.
We'll see examples of Julia code and work through both the design and implementation choices needed to achieve near-C performance.
- Attendees should walk away with a general sense of what the language implementation space looks like and a more specific sense of what the important choices that make Julia fast are. Hopefully, they'll also be excited to try writing some Julia.
- There is no specific required background for this talk, beyond knowing how to program. Specifically, you are not expected to know Julia or how programming languages are implemented. This talk has gone over very well in the past with audience who are not well-versed in the specifics of language implementation.
Leah works at Stripe on internal developer tools. She likes making and improving tools for people she works with. Previously, she wrote code at Google, Jane Street, Fog Creek, and Recurse Center. Outside of work, she's writing a book about Julia, titled Learning Julia.