Program Obesity: A Code Health Epidemic
summary
Claim: pervasive pointer-based ASTs cause huge bloat and cache-miss performance. Implements the same compiler twice — a nanapass-style Racket version that loads to gigabytes and needs ~8 GB working memory and an APL/dialogue version that uses ~63 MB initial and fits under 2 GB on GPU. Uses vector layouts, parent and depth vectors, and targets the GPU to get up to 1500x speedup and measured CPU improvements like 33x for large ASTs; the APL design actually works.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 6:52APL Compiler
- 16:32Memory
- 33:30contiguous memory
- 35:27runtime
- 36:05interpreter
- 37:55graphs
- 39:28node counts
- 40:41GPU performance
- 43:19Optimization
- 44:42Premature Optimization
- 45:55Memory Usage
- 52:10Compute
related talks
45mAbstraction Considered Harmful (and other opinions about writing maintainable code)
27mAbusing Preprocessor ASTs
01h 03mFrom acrobatics to ergonomics: a field report on how to Make libraries helpful
12mWhy Less Code Isn’t Always Better
40mLessons from two decades of writing bad code
27mParsing, Compiling, and Static Metaprogramming
43mMachine Powered Refactoring: Leverage AST's to Push Your Legacy Code (& the Web) Forward
01h 00mPanel: Programming Languages in the Era of the Cloud
