Vercel Functions are now faster—and powered by Rust

This post details the migration of Vercel Functions' core logic from Node.js to Rust, resulting in performance improvements. Key contributions include: 1. Rewriting function initialization and invocation phases in Rust to optimize startup times. 2. Specific Rust optimizations for reading/attaching environment variables, spawning Node.js processes, streaming/encrypting chunked responses, and using APIs like `waitUntil`. 3. Benchmarking results showing up to 30% faster cold starts for smaller workloads and 80ms (average) / 500ms (p99) faster execution for larger workloads. 4. Improvements in streaming response connection times (47% faster average, 77% faster p99). 5. The introduction of Rust-powered functions leading to slightly shorter billed durations and thus lower costs. 6. Regional routing improvements for faster startups, especially for new deployments.