Vercel

Vercel Functions are now faster—and powered by Rust

May 3, 2024
Vercel Functions are now faster—and powered by Rust
SummaryAI, from the source post

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.

More from the Runtime Options for Vercel Functions trail