awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
hansihe avatar

hansihe/Rustler

0
View on GitHub↗
4,806 stars·243 forks·Rust·Apache-2.0·21 viewsdocs.rs/crate/rustler↗

Rustler

Rustler is a toolkit and interface for building safe, high-performance native extensions that integrate Rust code with the BEAM virtual machine. It provides a bridge for writing native functions in Rust that integrate with Erlang and Elixir.

The project focuses on preventing virtual machine crashes by catching Rust panics during the execution of native functions. It utilizes a safe interface to encapsulate raw pointers and provide type-safe abstractions for native extensions.

The toolkit covers cross-language data marshalling through trait-based term conversion and manages the lifecycle of memory objects via reference-counted resource management. These capabilities allow for the replacement of interpreted code with compiled Rust functions to improve execution speed.

Features

  • Erlang NIF Development - Provides a comprehensive toolkit for writing high-performance native functions (NIFs) in Rust for Erlang and Elixir.
  • BEAM NIF Bridges - Acts as a bridge for writing native functions in Rust that integrate with the Erlang virtual machine and Elixir.
  • Safe Panic Wrappers - Implements automatic panic catching in Rust native functions to prevent the BEAM virtual machine from crashing.
  • Rust Native Extensions - Ships a toolkit for implementing high-performance Rust native extensions that safely handle data terms.
  • Safe VM Interfaces - Provides a safe interface that prevents BEAM virtual machine crashes by catching Rust panics.
  • Rust-Erlang Integration - Connects Rust code with Erlang systems to leverage memory safety and speed while maintaining stability.
  • Rust Native Extensions - Provides a toolkit for building high-performance native extensions in Rust for the BEAM virtual machine.
  • Trait-Based Term Conversions - Uses generic traits to encode and decode data between Rust types and Erlang terms.
  • Runtime Crash Prevention - Wraps Rust code in panic handlers to prevent internal language errors from crashing the host virtual machine.
  • Reference Counting - Implements reference counting to track Rust memory objects and trigger cleanup via the BEAM garbage collector.
  • Cross-Runtime Resource Management - Manages Rust memory structures that can be safely passed to and released by the Erlang garbage collector.
  • C FFI Bridges - Utilizes a C FFI bridge to map Rust functions to the Erlang VM native interface.
  • Cross-Language Data Exchange - Facilitates the bidirectional movement of data between the Rust native layer and the Erlang runtime.
  • Safe Pointer Abstractions - Encapsulates unsafe raw pointers into a type-safe Rust API to prevent memory corruption bugs.
  • Memory Lifecycle Management - Implements a mechanism for passing memory structure references to external code and automatically releasing them via the GC.
  • Native Module Optimizations - Enables replacing slow interpreted BEAM code with compiled Rust functions to improve execution speed.
  • Native Implemented Functions - Safe NIF development using the Rust language.

Star history

Star history chart for hansihe/rustlerStar history chart for hansihe/rustler

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Rustler

These projects share indexed features with Rustler. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • rusterlium/rustlerrusterlium avatar

    rusterlium/rustler

    4,806View on GitHub↗

    Rustler is a native function wrapper and foreign function interface that enables the development of high-performance extensions for the BEAM virtual machine. It serves as a bridge for writing native functions in Rust that can be called from Erlang environments. The project focuses on maintaining memory safety to prevent system crashes and memory corruption when executing compiled code. It achieves this by wrapping native calls in safe abstractions and applying Rust's ownership and borrowing rules to the management of external memory and structured data objects. The library provides mechanism

    Rustbindingelixirerlang
    View on GitHub↗4,806
  • nodejs/node-addon-apinodejs avatar

    nodejs/node-addon-api

    2,400View on GitHub↗

    This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance native addons for Node.js. It acts as a bridge between C++ and JavaScript, offering an object-oriented interface that simplifies the creation of compiled extensions while managing the complexities of the language boundary. The library distinguishes itself by providing type-safe abstractions for data marshalling and memory management, ensuring that native and script-side objects are tracked and reclaimed correctly. It includes mechanisms for coordinating asynchronous tasks bet

    C++nodenodejs
    View on GitHub↗2,400
  • nswbmw/node-in-debuggingnswbmw avatar

    nswbmw/node-in-debugging

    6,457View on GitHub↗

    This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and asynchronous behavior within Node.js applications. It provides detailed methods for asynchronous tracing, memory diagnostics, and performance analysis to resolve runtime errors and execution bottlenecks. The resource distinguishes itself by covering advanced diagnostic workflows, including the use of flame graphs for CPU profiling, the capture and comparison of heap snapshots for memory leak detection, and the mapping of asynchronous call stacks. It also provides technical guidance on

    debugdebuggingguide
    View on GitHub↗6,457
  • python/cpythonpython avatar

    python/cpython

    73,265View on GitHub↗

    CPython is the primary, community-maintained reference implementation of the Python programming language. It functions as a high-level, interpreted execution environment that compiles source code into platform-independent bytecode for processing by a stack-based virtual machine. The runtime manages memory through a combination of reference counting and generational cyclic garbage collection, while dynamic type dispatching determines object behavior at runtime based on metadata stored within object headers. The project is distinguished by its C-based architecture, which provides a stable forei

    Python
    View on GitHub↗73,265
Compare all 30 related projects→

Frequently asked questions

What does hansihe/rustler do?

Rustler is a toolkit and interface for building safe, high-performance native extensions that integrate Rust code with the BEAM virtual machine. It provides a bridge for writing native functions in Rust that integrate with Erlang and Elixir.

What are the main features of hansihe/rustler?

The main features of hansihe/rustler are: Erlang NIF Development, BEAM NIF Bridges, Safe Panic Wrappers, Rust Native Extensions, Safe VM Interfaces, Rust-Erlang Integration, Trait-Based Term Conversions, Runtime Crash Prevention.

Which projects share features with hansihe/rustler?

Projects with overlapping indexed features include: rusterlium/rustler — Rustler is a native function wrapper and foreign function interface that enables the development of high-performance… nodejs/node-addon-api — This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance… nswbmw/node-in-debugging — This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and… python/cpython — CPython is the primary, community-maintained reference implementation of the Python programming language. It functions… asticode/go-astilectron — go-astilectron is a cross-platform GUI framework and binding that enables the creation of desktop software by… dop251/goja — Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded…