All Projects β†’ EmbarkStudios β†’ Rpmalloc Rs

EmbarkStudios / Rpmalloc Rs

Licence: other
🐏 rpmalloc global memory allocator for Rust πŸ¦€

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Rpmalloc Rs

DLL-INJECTOR
I created a dll injector I am going to Open source its Code. But remember one thing that is any one can use it only for Educational purpose .I again say do not use it to damage anyone's Computer.But one thing if you are using it for some good purpose like to help someone who really need help then I permit you to use it.
Stars: ✭ 14 (-80.82%)
Mutual labels:  memory-allocation
Hardened malloc
Hardened allocator designed for modern systems. It has integration into Android's Bionic libc and can be used externally with musl and glibc as a dynamic library for use on other Linux-based platforms. It will gain more portability / integration over time.
Stars: ✭ 472 (+546.58%)
Mutual labels:  memory-allocation
Memory
STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write.
Stars: ✭ 875 (+1098.63%)
Mutual labels:  memory-allocation
zee alloc
tiny Zig allocator primarily targeting WebAssembly
Stars: ✭ 58 (-20.55%)
Mutual labels:  memory-allocation
Scalene
Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python
Stars: ✭ 4,819 (+6501.37%)
Mutual labels:  memory-allocation
Hoard
The Hoard Memory Allocator: A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac.
Stars: ✭ 758 (+938.36%)
Mutual labels:  memory-allocation
bbai-lib
C++ library for getting the most out of polymorphic allocators
Stars: ✭ 41 (-43.84%)
Mutual labels:  memory-allocation
Memstrack
A memory allocation tracer combined with stack trace.
Stars: ✭ 60 (-17.81%)
Mutual labels:  memory-allocation
Jvm
πŸ€— JVM εΊ•ε±‚εŽŸη†ζœ€ε…¨ηŸ₯θ―†ζ€»η»“
Stars: ✭ 7,756 (+10524.66%)
Mutual labels:  memory-allocation
Stackext
Header-only C++ library for working with an extended stack
Stars: ✭ 27 (-63.01%)
Mutual labels:  memory-allocation
MemoryAllocator.KanameShiki
Fast multi-threaded memory allocator
Stars: ✭ 73 (+0%)
Mutual labels:  memory-allocation
Larray
Large off-heap arrays and mmap files for Scala and Java
Stars: ✭ 370 (+406.85%)
Mutual labels:  memory-allocation
Os Lab
Codes pertaining to OS Lab for Course CO254 - Operating Systems Lab
Stars: ✭ 20 (-72.6%)
Mutual labels:  memory-allocation
smalloc
SMalloc -- a *static* memory allocator.
Stars: ✭ 22 (-69.86%)
Mutual labels:  memory-allocation
Jvmsounds
Play memory allocation rate and GC events as sine wave and percussion, respectively.
Stars: ✭ 28 (-61.64%)
Mutual labels:  memory-allocation
GC
A lightweight conservative garbage collector for C/C++
Stars: ✭ 108 (+47.95%)
Mutual labels:  memory-allocation
Php Memory Profiler
Memory leak profiler for PHP
Stars: ✭ 544 (+645.21%)
Mutual labels:  memory-allocation
Small
Specialized memory allocators
Stars: ✭ 71 (-2.74%)
Mutual labels:  memory-allocation
Memory Allocators
Custom memory allocators in C++ to improve the performance of dynamic memory allocation
Stars: ✭ 948 (+1198.63%)
Mutual labels:  memory-allocation
Sralloc
Memory allocators
Stars: ✭ 25 (-65.75%)
Mutual labels:  memory-allocation

🐏 rpmalloc-rs

Embark Embark Crates.io Docs dependency status Build Status

Cross-platform Rust global memory allocator using rpmalloc.

See the rpmalloc README for a detailed description of how the allocator works, peforms, and compares with other allocators.

How to use

To use rpmalloc as the global allocator in your Rust binary crate, in Cargo.toml add:

[dependencies]
rpmalloc = "0.2.0"

And then in one of your .rs files:

#[global_allocator]
static ALLOC: rpmalloc::RpMalloc = rpmalloc::RpMalloc;

Configuration

It is also possible to configure how the allocator should be built through a set of feature flags that correspond to the rpmalloc C library ENABLE_x defines:

  • Overall: statistics, validate_args, asserts, guards
  • Cache: unlimited_cache, unlimited_global_cache, unlimited_thread_cache, global_cache, thread_cache, adaptive_thread_cache

Example usage:

[dependencies]
rpmalloc = { version = "0.2.0", features = ["guards", "statistics"] }

See rpmalloc README for detailed descriptions of the config options.

Note that all of these have not been tested together with this Rust crate.

Support

This crate has been tested to support the following platforms and Rust targets:

  • x86_64-pc-windows-msvc
  • x86_64-apple-darwin
  • x86_64-unknown-linux-gnu

PRs to increase the amount of supported targets are welcome, but they should add CI verification and avoid adding additional dependencies.

Contributing

Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

Licensed under either of

at your option.

Note that the rpmalloc library this crate uses is under public domain, and can also be licensed under MIT.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].