RustFest Interviews Triple Feature: Rust for AAA Game Development; Async Foundations with `async-std`; and Powerful Concurrency Primitives with `crossbeam` - podcast episode cover

RustFest Interviews Triple Feature: Rust for AAA Game Development; Async Foundations with `async-std`; and Powerful Concurrency Primitives with `crossbeam`

Jan 22, 202054 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Three more interviews from RustFest 2019: Jake Shadle on using Rust for high-performance game engines at Embark, applying lessons learned from working on EA DICE’s Frostbite engine; Yoshua Wuyts on async-std and Rust’s async ecosystem; and Stjepan Glavina on crossbeam, Rust’s foundational library for powerful concurrency primitives.

Contributing to Rustacean Station

Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!

Timestamps & referenced resources [@00:00] Part 1: Game Development @ Embark Studios w/ Jake Shadle
  • [@01:25] - What is yours (and Embark’s) background in game development?
  • [@02:14] - What is the relevance of the Frostbite engine and what is your experience with it?
  • [@04:15] - What makes you think that Rust as a language is suitable for game development?
  • [@06:13] - How is parallelism employed in a game engine on the scale of Frostbite?
  • [@07:07] - Where is the Rust library ecosystem lacking for your use case, and what crates are you making use of?
  • [@11:13] - Why is Embark interested in WebAssembly?
  • [@14:20] - How can someone get in touch or learn more about Embark?
[@15:09] Part 2: async-std w/ Yoshua Wuyts
  • [@15:48] - How much of the Rust standard library is async-std intended to emulate?
  • [@17:12] - Is there anything from async-std that ought to be upstreamed into the standard library?
  • [@19:20] - Does async-std run into any conflicts with the types or traits defined in futures-rs or the standard library?
  • [@22:21] - How complete or incomplete is Rust’s async ecosystem and async language support?
  • [@26:21] - How close is async-std to being a drop-in replacement for the standard library?
  • [@28:32] - What’s next for the development of async-std?
  • [@30:07] - With the advent of async-std version 1.0, what would an eventual 2.0 release look like?
  • [@32:09] - Who is using async-std?
  • [@32:54] - How can someone get in touch or get involved?
[@34:02] Part 3: crossbeam w/ Stjepan Glavina
  • [@34:29] - What is crossbeam and what is its history?
  • [@36:41] - What is epoch-based garbage collection, and why would a Rust user want to use it?
  • [@38:17] - How does epoch-based garbage collection compare to std::sync::Arc?
  • [@41:30] - What is your background in concurrent programming?
  • [@42:59] - How do crossbeam’s channels compare to those in the standard library?
  • [@44:33] - How much research was involved in writing crossbeam?
  • [@45:35] - Do crossbeam’s channels provide a selection interface?
  • [@46:34] - What other primitives does crossbeam provide?
  • [@48:37] - How confident are you in the correctness of crossbeam’s implementation?
  • [@49:46] - How is crossbeam related to rayon and async-std?
  • [@51:53] - What’s next for crossbeam?
Credits

Intro Theme: Aerocity

Audio Editing: Zoran Zaric

Hosting Infrastructure: Jon Gjengset

Show Notes: Ben Striegel, Zoran Zaric

Hosts: Ben Striegel

For the best experience, listen in Metacast app for iOS or Android