Why Rust powers Temporal’s new Core SDK
Apr 20, 2021

Summary
This post details the challenges of Temporal's client-side libraries, including complex event reconciliation, the need to support multiple languages idiomatically, and the requirement for extreme reliability. It explains the algorithm a Temporal worker follows and highlights the duplication of complex state machine logic across existing SDKs. The post introduces the concept of a shared Core SDK and justifies the choice of Rust for its performance, safety, and ability to compile to WASM, facilitating integration with other languages and potentially enabling out-of-process communication via Protobufs.