u/mttdin r/Compilers • Recommends
Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023
39K subscribers • 42 videos on Hallway • Conference channel
- Recommended by 4 people: 1 on Hacker News, 1 on Lobsters and 2 in engineering communities.
- Presented by Chandler Carruth, Carbon language lead
Advanced. Deep dive for people who know the field.
70K views3 years ago4 recommendations
Systems programmingProgramming languagesCompilers and interpretersPerformance and optimizationData-oriented design
Chandler Carruth explains how the Carbon toolchain uses data-oriented design and flat ASTs to achieve high-performance lexing and parsing.
cppnow.org linkedin.com/company/cppnow --- Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023 Slides: github.com/boostcon --- The algorithms and data structures used for parsing and compiling in most compilers today are rooted in 50 year old computer architectures and language design realities. What would a modernized compiler design, based on modern computer architectures, leveraging data-oriented design, and targeting modern languages look like in order to maximize performance while retaining flexibility? This talk will provide an overview of the traditional model for designing a compiler in C++ and highlight some of the key limitations of these design patterns. Then it will introduce a new set of design patterns that we are using to build the Carbon toolchain's compiler, and describe why we think they can help us reach unprecedented compile times (for a C++-like programming language). It will also show specific programming techniques that have proven useful and how we have overcome some of the traditional limitations and challenges of implementing a parser or compiler in C++. While this talk focuses on the design and implementation of the Carbon compiler, it will also touch on the Carbon *language* because achieving our goals for the compiler interacted with the design of the language grammar. --- Chandler Carruth Chandler Carruth is the technical lead for Google's programming languages and software foundations. He has worked extensively on the C++ programming language and the Clang and LLVM compiler infrastructure. Previously, he worked on several pieces of Google's distributed build system and made guest appearances helping maintain a few core C++ libraries across Google's codebase. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. When not hammering away on a weirdly shaped keyboard, he enjoys sushi, fine dining, brown spirits, and everything about wine. --- think-cell develops one of the world’s leading PowerPoint applications, with C++ at the core of everything we build, from layout algorithms to deep integration with Microsoft Office. Interested in working on challenging C++ problems with real-world impact? Explore our open roles: think-cell.com/en/career/tech--- Videos Filmed & Edited By Bash Films: bashfilms.com/ YouTube Channel Managed & Optimized By Digital Medium Ltd: events.digital-medium.co.uk --- CppNow 2024 cppnow.org twitter.com/cppnow --- #boost #cpp #compiler_designWhy it's here
4 people recommend thisWhat people say. Recommended for its insights into modern compiler performance and data-oriented AST design.
Moments people linked to
u/agumonkeyin r/Compilers • Recommends
di4naon Hacker News • Recommends
On “How to speed up the Rust compiler in August 2023”
u/levodelellisin r/ProgrammingLanguages • Mentions
u/not_a_novel_accountin r/C_Programming • Mentions
On “Usability of code from "Compiler Design in C" by Allen Holub on modern compilers”
u/oxcrowxin r/ProgrammingLanguages • Mentions
u/matthieumin r/ProgrammingLanguages • Mentions
On “Made a tokenizer”
u/javascriptin r/ProgrammingLanguages • Mentions
On “Monomophisation should never be slow to compile (if done explicitly)”
u/Karyo_Tenin r/C_Programming • Mentions
On “Project: Making a C compiler”
pason Hacker News • Mentions
On “Rhombus: Macro-extensible language with conventional syntax built on Racket”
wrsh07on Hacker News • Mentions
On “Flattening ASTs and other compiler data structures (2023)”
norskeldon Hacker News • Mentions
On “Strategies for Fast Lexers”
u/JonMeow47in r/ProgrammingLanguages • Mentions
On “Flat AST and states machine over recursion: is worth it?”
u/JonMeow47in r/ProgrammingLanguages • Mentions
On “Flat AST and states machine over recursion: is worth it?”
u/caim_hsin r/ProgrammingLanguages • Mentions
On “Flat AST and states machine over recursion: is worth it?”