Displaying 1 to 7 from 7 results

jemalloc - Scalable, Concurrent, Malloc Implementation

  •    C

jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. It is intended for use as the system-provided memory allocator, as in FreeBSD's libc library, as well as for linking into C/C++ applications. jemalloc provides many introspection, memory management, and tuning features beyond the standard allocator functionality.

Mesh - A memory allocator that automatically reduces the memory footprint of C/C++ applications.

  •    C++

Mesh is a drop in replacement for malloc(3) that compacts the heap without rewriting application pointers. Mesh is described in an academic paper (arxiv PDF) that will appear at PLDI 2019.

ralloc - An alternative pure-Rust memory allocator.

  •    Rust

A fast & memory efficient userspace allocator. This allocator is used as the default Redox.

Rpmalloc-CSharp - Managed C# wrapper for rpmalloc memory allocator by Mattias Jansson

  •    CSharp

This repository provides a managed C# wrapper for rpmalloc memory allocator which is created and maintained by Mattias Jansson. You will need to build the native library before you get started. It's highly recommended to use Span<T> in tandem with rpmalloc to manage data in native memory blocks efficiently and more safely. Please, keep in mind that memory safety is entirely up to you.

Smmalloc-CSharp - Blazing fast memory allocator designed for video games meets .NET

  •    C++

This is an improved version of smmalloc a fast and efficient memory allocator designed to handle many small allocations/deallocations in heavy multi-threaded scenarios. The allocator created for usage in applications where the performance is critical such as video games. Using smmalloc allocator in the .NET environment helps to minimize GC pressure for allocating buffers and avoid using lock-based pools in multi-threaded systems. Modern .NET features such as Span<T> greatly works in tandem with smmalloc and allows conveniently manage data in native memory blocks.

libdiffuzz - Custom memory allocator that helps discover reads from uninitialized memory

  •    Rust

This is not a drop-in replacement for Memory Sanitizer! It will likely require changes to your code or your testing setup, see below. When injected into a process, this library initializes every subsequent allocated region of memory to different values. Using this library you can detect uses of uninitialized memory simply by running a certain operation twice in the same process and comparing the outputs; if they differ, then the code uses uninitialized memory somewhere.

memory-landscape - The space of memory management research and systems produced by the PLASMA lab (https://plasma-umass


The diagram above presents a conceptual map of many of the memory-management related projects from the PLASMA @ UMass lab. This work is all joint work with colleagues and grad students (primarily Charlie Curtsinger, Kathryn McKinley, Gene Novark, Bobby Powers, and Ben Zorn). Garbage collection yields numerous software engineering benefits, but its quantitative impact on performance remains elusive. One can compare the cost of conservative garbage collection to explicit memory management in C/C++ programs by linking in an appropriate collector. This kind of direct comparison is not possible for languages designed for garbage collection (e.g., Java), because programs in these languages naturally do not contain calls to free. Thus, the actual gap between the time and space performance of explicit memory management and precise, copying garbage collection remains unknown.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.