denoland/rusty_v8

Created Apr 24, 2022 · View the denoland/rusty_v8 repository page

Rust bindings for the V8 JavaScript engine

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

57

Lines of Code

2,739

From

Oct 7, 2019

To

Apr 20, 2022

About denoland/rusty_v8

Rusty V8 is a comprehensive Rust binding to the V8 JavaScript engine, providing direct access to V8's C++ API with minimal overhead. Built to support the Deno project, it aims to match the original V8 API as closely as possible while avoiding the performance penalties of earlier binding attempts. The project currently targets V8 version 14.9.207.2 and publishes on crates.io with auto-generated documentation on docs.rs.

The project solves a critical infrastructure problem by building V8 from source during the cargo build process rather than relying on pre-built binaries. While V8 is a massive codebase of over 600,000 lines of C++ and typically takes 30 minutes to compile, Rusty V8 automates this using Chromium's build tools (gn and ninja) and provides prebuilt static libraries for common platforms to speed up development. Users can opt into faster builds with cached binaries or build entirely from source for testing and custom configurations.

Rusty V8 follows Chrome's release schedule with a major version bump every four weeks, keeping the binding synchronized with V8 releases while maintaining semantic versioning within each major version. The project supports building on multiple platforms including Linux, macOS, Windows, and Android, with detailed documentation for handling platform-specific build requirements and optimization through caching tools like sccache.

Share this video

More from denoland

See all →