What's taking so long?!

Oxide and Friends · 24 Jan 2024 · 1h 35m · Episode 3

What this episode covers

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.

Other shows on the same ground, closest first.

  • Embedded.fm · 57m

    342: That Girl's Brain

    Jessie Frazelle, Co-Founder and Chief Product Officer at Oxide Computer, explains how the company builds open-source, rack-scale servers for enterprises by adopting hyperscaler-style hardware design. She details the decision to open-source firmware and hardware to eliminate vendor finger-pointing and security vulnerabilities inherent in proprietary BMCs. The discussion covers their use of Rust for firmware and control plane software, power efficiency metrics like PUE, and the challenges of deploying high-density compute in traditional colocation environments.

  • Embedded.fm · 1h 08m

    190: Trust Me, I'm Right

    Matt Godbolt, a software engineer at DRW and creator of the open-source Compiler Explorer, discusses the tool's evolution from a personal shell script to a widely used web platform for comparing compiler outputs. He explains how the tool helps developers understand assembly generation, debug optimization issues, and settle arguments about C++ features like range-based for loops and constexpr. Godbolt also touches on his background in game development at Argonaut Games, the security challenges of running compilers in the cloud, and the future of systems programming languages like Rust.

  • The Pragmatic Embedded Podcast · 49m

    Buzzword Bingo (or: which modern technologies make sense for embedded?)

    Hosts Jeff Gable and Luca Ingianni evaluate modern development buzzwords for embedded systems, discussing the applicability of web technologies like Kubernetes and Docker, the nuances of CI/CD pipelines, and the practical adoption of Rust and modern C++. They highlight specific tools such as Memfault, Mender, and Renode for observability and simulation, and analyze the role of AI in both device-side machine learning and developer productivity.

  • The Pragmatic Embedded Podcast · 35m

    Rust with Milica Kostic

    Milica Kostic, an embedded software architect with a background in electrical engineering and safety-critical industries like medical devices, discusses her journey from C/C++ to adopting Rust in production. She explains that the most successful adoption occurred in a greenfield embedded Linux project using a microservice architecture, which allowed for clean isolation of Rust code and minimized complex C/C++ interoperability challenges. Kostic highlights the benefits of Rust's tooling, such as Cargo and built-in static analysis, while noting current limitations in microcontroller support, IDE tooling, and certified stacks like BLE.

  • Embedded.fm · 1h 09m

    334: Bag of Heuristics

    Matt Godbolt, creator of Compiler Explorer (godbolt.org) and the jsbeeb BBC Micro emulator, discusses the evolution of his open-source tools, the technical details of compiler internals, and the nostalgia of 6502 computing. He explains how Compiler Explorer helps developers understand assembly output, manage ABI constraints, and debug compiler bugs, while also detailing the security and privacy challenges of running arbitrary code on a public web service. Godbolt also shares insights into the BBC Micro's hardware quirks, the impact of Hyrum's Law on legacy systems, and the shift from transparent hardware to opaque modern processors.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by Oxide and Friends. The episode itself belongs to its publisher.