abi_stable_crates
Rust-to-Rust ffi,ffi-safe equivalents of std types,and creating libraries loaded at startup. (by rodrimati1992)
rust-default-arguments-benchmark
A simple benchmark to evaluate the performance impact of using structs that implement Default as function arguments. (by lucamoller)
abi_stable_crates | rust-default-arguments-benchmark | |
---|---|---|
7 | 1 | |
491 | 0 | |
- | - | |
4.9 | 2.6 | |
7 months ago | over 2 years ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
abi_stable_crates
Posts with mentions or reviews of abi_stable_crates.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-09.
-
how can I add dynamic loading to do "plugins" for my Rust app?
I've used abi_stable_crates
-
Announcing `stabby`: a stable ABI for Rust with niche optimizations and much more!
It's possible, I even made a PR for closures a few months ago. However, for some odd reason the CI failed to build it, and months later I tried to update my PR only to find that master didn't build anymore on my machine.
-
CGlue 0.2 is out! Dynamically loadable traits in Rust, C and C++
Integration with /u/azure1992's abi_stable crate for API/ABI mismatch checking (layout_checks feature). Note that CGlue will not work with crates.io version just yet, as a certain patch needs to be published first. But in the meantime, this can be solved by specifying the upstream repo in cargo patch section.
-
What are the options of distributing a closed-source library in Rust?
There’s a crate for that: abi_stable
-
Plugin based architecture in Rust
Unfortunately, just before publishing this article I found out, that Rust does not guarante a stable ABI, not even between two separate runs of the compiler with the same rustc version. This measn that plugins might suddenly not be compatible anymore for no obvious reasons. Even though I never experienced any problems during development (neither on windows, linux nor mac), I'd recommend you to just share datastructures with #[repr(C)] attribute or use types from abi_stable_crates. A stable ABI will be shipped with minfac:0.0.2, as datastructures in minfac:0.0.1 don't have the #[repr(C)] attribute yet. A discussion about having a stable Rust ABI can be found in the internals forum. If anybody knows, why compiling with the compiler option -C prefer-dynamic is supported, I'd be interested to know, as I can't see how this problem is solved there.
-
Rust doesn’t support default function arguments. Or does it?
Here’s abi_stable_crates, enabling Rust API to be exported with a stable ABI
-
Is there a way to build a plugin system for rust code with dynamic libraries ?
This crate may also be of interest: https://github.com/rodrimati1992/abi_stable_crates/
rust-default-arguments-benchmark
Posts with mentions or reviews of rust-default-arguments-benchmark.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-08-21.
-
Rust doesn’t support default function arguments. Or does it?
I've added the builder pattern to my benchmark. The results were that the 3 implementations were indistinguishable when function inlining was allowed. When inlining was not allowed, both the default trait pattern and the builder pattern suffered similar performance penalties (maybe those penalties are actually associated to having a struct as argument?).
What are some alternatives?
When comparing abi_stable_crates and rust-default-arguments-benchmark you can also consider the following projects:
interoptopus - The polyglot bindings generator for your library (C#, C, Python, …) 🐙
rust - Empowering everyone to build reliable and efficient software.
minfac - Lightweight Inversion Of Control
rfcs - RFCs for changes to Rust
memflow - physical memory introspection framework
rust - Rust language bindings for TensorFlow
ctti - Rust compile-time type information experiment
xi-editor - A modern editor with a backend written in Rust.
wasmer - 🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten
eavesdropper - A CLI tool that captures packets and utilizes plugins to analyze packet information via a shared database.
cglue - Rust ABI safe code generator
dyntable - Idiomatic and FFI Safe dyn traits in Rust
abi_stable_crates vs interoptopus
rust-default-arguments-benchmark vs rust
abi_stable_crates vs minfac
rust-default-arguments-benchmark vs rfcs
abi_stable_crates vs memflow
rust-default-arguments-benchmark vs rust
abi_stable_crates vs ctti
abi_stable_crates vs xi-editor
abi_stable_crates vs wasmer
abi_stable_crates vs eavesdropper
abi_stable_crates vs cglue
abi_stable_crates vs dyntable