Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023
CppNow1 HN recommender · recommended in 1 month, 2023-2025
71K views · 3 years ago · talk · evergreen
Chandler Carruth's CppNow 2023 talk on modernizing compiler design for the Carbon toolchain, using data-oriented design and modern hardware assumptions. It covers lexing, parsing and compact data structures aimed at compiler performance.
Recommended as a recent take on rethinking compiler architecture, and cited in discussions of flattened ASTs and fast lexers.
1:33:022013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++
CppNow
34K views • 13 years ago
1:38:57Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 23
CppNow
24K views • 3 years ago
1:29:54CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"
CppCon
188K views • 11 years ago
55:49CppCon 2016: Chandler Carruth “High Performance Code 201: Hybrid Data Structures"
CppCon
119K views • 10 years ago
1:00:58CppCon 2017: Chandler Carruth “Going Nowhere Faster”
CppCon
113K views • 9 years ago
59:53CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”
CppCon
147K views • 7 years ago
1:13:41CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
CppCon
235K views • 12 years ago
1:30:03C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”
CppNow
11K views • 8 years ago
1:15:46CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
CppCon
178K views • 9 years ago
57:39CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."
CppCon
94K views • 10 years ago
1:54:00Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022
CppCon
277K views • 3 years ago
55:42CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”
CppCon
77K views • 7 years ago
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
862K views • 12 years ago
1:00:21CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”
CppCon
29K views • 7 years ago
54:48CppCon 2018: Hana Dusíková “Compile Time Regular Expressions”
CppCon
14K views • 8 years ago
43:20Zig Roadmap 2023 - Andrew Kelley
Zig SHOWTIME
77K views • 4 years ago
1:29:06CppCon 2015: Herb Sutter "Writing Good C++14... By Default"
CppCon
193K views • 11 years ago
1:19:52CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
264K views • 10 years ago
1:06:00CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”
CppCon
31K views • 9 years ago
1:01:09Plenary: Performance Matters - Emery Berger - CppCon 2020
CppCon
32K views • 6 years ago
4 comments from Hacker News
Is lexing ever a bottleneck though? Even if you push for lexing and parsing 10M lines/second [1], I'd argue that semantic analysis and codegen (for AOT-compiled languages) will dominate the timings. That said, there's no reason not to squeeze every bit of performance out of it! [1]: In this talk about the Carbon language, Chandler Carruth shows and explains some goals/challenges regarding performance: ▶ this video
Chandler discusses it in this video though! ▶ this video You get some traversals for free with this layout (preorder, reverse post order). Can search for subtrees with string searching algorithms or more complex things with regex.
Cache the position of quotes/apostrophes, etc. Optimizing for your edge case would require everyone writing and reading code to conform to this extra thing, which seems completely unnecessary. Machines are pretty fast. ▶ this video Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023
No but it is endemic to how we think about compilers up to now, and especially when the rust compiler arch was massively developed, more than 10 years ago. I recommend a watch of this for a recent take on trying to change how we think of these. It is an open research field ▶ this video