# What's taking so long?!

- Show: [Oxide and Friends](https://hardwarepodcasts.com/podcast/oxide-and-friends)
- Published: 2024-01-24
- Length: 1h 35m
- Episode: 3
- Page: https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long
- Listen: https://share.transistor.fm/s/a46ddac5

## Summary

Bryan Cantrill and Adam Leventhal of Oxide Computer Company are joined by Sean Klein, Rain Paharia, and Steve Klabnik to discuss techniques for analyzing and accelerating Rust build times. The group details how Oxide’s Omicron control plane monorepo suffered from slow incremental builds due to feature unification, generic code bloat, and slow linking, and how they used tools like cargo-hakari, Mold, and self-profiling to resolve these issues. They also explore the trade-offs between generics and trait objects, the impact of proc macros, and the potential of alternative build systems like Buck2 and pre-compiled WASM macros.

## Chapters

- [0:00](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=0) Introduction: Gen Z Bible and Compile Time History
- [3:03](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=183) Omicron Build Times and the Boiling Frog Analogy
- [10:49](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=649) Rust Compiler Evolution: Batch vs. Incremental
- [16:59](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=1019) Diagnosing Build Times: Cargo Timings and Bloat
- [21:05](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=1265) Generics vs. Trait Objects and Outlining
- [28:04](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=1684) Rain Paharia on Cargo Hakari and Feature Unification
- [41:05](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=2465) Proc Macros, Panic Settings, and Dev vs. Prod Divergence
- [48:55](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=2935) Self-Profiling, u32 Overflow, and Serde Costs
- [1:02:08](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=3728) Linking Bottlenecks and the Adoption of Mold
- [1:11:07](https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long#t=4267) Pre-Compiled Macros, WASM, and Buck2 Build Systems

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [PCB design & layout](https://hardwarepodcasts.com/topic/pcb-design)
- [Analog & power electronics](https://hardwarepodcasts.com/topic/analog-and-power-electronics)
- [Microcontrollers & dev platforms](https://hardwarepodcasts.com/topic/microcontrollers-and-platforms)
- [Chips, FPGAs & semiconductors](https://hardwarepodcasts.com/topic/chips-and-fpgas)
- [Batteries & low-power design](https://hardwarepodcasts.com/topic/batteries-and-low-power)
- [Wireless & RF](https://hardwarepodcasts.com/topic/wireless-and-rf)
- [Sensors & measurement in products](https://hardwarepodcasts.com/topic/sensors)
- [Test & measurement](https://hardwarepodcasts.com/topic/test-and-measurement)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [Connected products & IoT](https://hardwarepodcasts.com/topic/connected-products-and-iot)
- [Security & privacy](https://hardwarepodcasts.com/topic/security-and-privacy)
- [AI & machine learning](https://hardwarepodcasts.com/topic/ai-and-machine-learning)
- [Robotics & autonomy](https://hardwarepodcasts.com/topic/robotics-and-autonomy)
- [Medical & health devices](https://hardwarepodcasts.com/topic/medical-devices)
- [Energy & climate tech](https://hardwarepodcasts.com/topic/energy-and-climate-tech)
- [Design for manufacturing & NPI](https://hardwarepodcasts.com/topic/design-for-manufacturing)
- [Manufacturing partners & offshoring](https://hardwarepodcasts.com/topic/manufacturing-partners)
- [Scaling production](https://hardwarepodcasts.com/topic/scaling-production)
- [Quality & yield](https://hardwarepodcasts.com/topic/quality-and-yield)
- [Sourcing & supply chain](https://hardwarepodcasts.com/topic/sourcing-and-supply-chain)
- [Factory operations & automation](https://hardwarepodcasts.com/topic/factory-operations)
- [Certification & compliance](https://hardwarepodcasts.com/topic/certification-and-compliance)
- [Logistics & fulfilment](https://hardwarepodcasts.com/topic/logistics-and-fulfillment)
- [Sustainability & circular products](https://hardwarepodcasts.com/topic/sustainability-and-circularity)
- [Starting a product company](https://hardwarepodcasts.com/topic/starting-a-company)
- [Validation & product-market fit](https://hardwarepodcasts.com/topic/validation-and-product-market-fit)
- [Crowdfunding & preorders](https://hardwarepodcasts.com/topic/crowdfunding)
- [Fundraising & investors](https://hardwarepodcasts.com/topic/fundraising)
- [Pricing, margins & unit economics](https://hardwarepodcasts.com/topic/pricing-and-unit-economics)
- [Retail, wholesale & distribution](https://hardwarepodcasts.com/topic/retail-and-distribution)
- [Direct-to-consumer & e-commerce](https://hardwarepodcasts.com/topic/direct-to-consumer)
- [Marketing & brand](https://hardwarepodcasts.com/topic/marketing-and-brand)
- [Intellectual property](https://hardwarepodcasts.com/topic/intellectual-property)
- [Leadership, teams & culture](https://hardwarepodcasts.com/topic/leadership-and-culture)
- [Hiring & workforce](https://hardwarepodcasts.com/topic/hiring-and-workforce)
- [Growth, exits & acquisitions](https://hardwarepodcasts.com/topic/growth-exits-and-acquisitions)
- [Policy, trade & tariffs](https://hardwarepodcasts.com/topic/policy-trade-and-tariffs)
- [Careers & education](https://hardwarepodcasts.com/topic/engineering-careers-and-education)
- [Maker community & events](https://hardwarepodcasts.com/topic/maker-community)
- [Fabrication & craft](https://hardwarepodcasts.com/topic/fabrication-and-craft)
- [Creator business](https://hardwarepodcasts.com/topic/creator-business)
- [Open-source hardware](https://hardwarepodcasts.com/topic/open-source-hardware)
- [Founder wellbeing](https://hardwarepodcasts.com/topic/founder-wellbeing)
- [Industrial & consumer product design](https://hardwarepodcasts.com/topic/industrial-design)
- [Mechanical engineering](https://hardwarepodcasts.com/topic/mechanical-engineering)
- [Materials & manufacturing processes](https://hardwarepodcasts.com/topic/materials-and-processes)
- [Packaging design](https://hardwarepodcasts.com/topic/packaging-design)
- [Prototyping & iteration](https://hardwarepodcasts.com/topic/prototyping)
- [EDA & CAD tools](https://hardwarepodcasts.com/topic/eda-and-cad-tools)

## Most relevant to

early-stage companies

## Mentioned

- Oxide Computer Company (company)
- Omicron (product)
- Hubris (product)
- Rust (other)
- Cargo (tool)
- Mold (tool)
- Buck2 (tool)
- Syn (other)
- Serde (other)
- MiniSerde (other)
- LLD (tool)
- Bazel (tool)
- Rust Analyzer (tool)
- Cargo Hakari (tool)

## Related episodes from other shows

- [342: That Girl's Brain](https://hardwarepodcasts.com/podcast/embedded-fm/2020-08-27-342-that-girls-brain) (Embedded.fm)
- [190: Trust Me, I'm Right](https://hardwarepodcasts.com/podcast/embedded-fm/2017-03-08-190-trust-me-im-right) (Embedded.fm)
- [Buzzword Bingo (or: which modern technologies make sense for embedded?)](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2024-11-13-buzzword-bingo-or-which-modern-technologies-make-sense-for-embedded) (The Pragmatic Embedded Podcast)
- [Rust with Milica Kostic](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2026-01-19-rust-with-milica-kostic) (The Pragmatic Embedded Podcast)
- [334: Bag of Heuristics](https://hardwarepodcasts.com/podcast/embedded-fm/2020-06-11-334-bag-of-heuristics) (Embedded.fm)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/oxide-and-friends/2024-01-24-whats-taking-so-long. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to Oxide and Friends.
