CppMicroServices
mimalloc
CppMicroServices | mimalloc | |
---|---|---|
1 | 35 | |
785 | 9,447 | |
0.1% | 1.1% | |
8.0 | 9.1 | |
5 days ago | 7 days ago | |
C++ | C | |
Apache License 2.0 | MIT License |
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.
CppMicroServices
-
Ichor v0.1.0: dependency injection now with co_await
Ichor is more comparable to something like CppMicroservices, Celix or Java Spring. Obviously Java has a heads up here with its annotations, which C++ does not have. All of these frameworks share the same "overengineering" feeling that make it less appealing to smaller projects.
mimalloc
- Mimalloc: High performance general purpose allocator
-
Replacing musl's malloc with mimalloc: any ideas?
mimalloc: mimalloc is an open source implementation of malloc, currently the best performing allocator.
-
Reptar
Some compiler writers thought that was the case, if [0] is related to OP. I don't have a "modern" (after 6th gen) Intel CPU to test it on, but note that most programs are compiled for a relatively generic CPU.
[0]: https://github.com/microsoft/mimalloc/issues/807
-
Is the JVM a upside or downside to Scala?
Yes, it's very efficient and that's not where the main problem lies. However, small allocations with modern C heap allocators like mimalloc or snmalloc has gotten extremely efficient as well. Would be interesting to see a benchmark comparison with Java's G1 and ZGC.
-
Z Garbage Collector: The Next Generation
Memory management for C is not itself a solved problem, not only is there a lot of performance to squeeze out of malloc itself (the benchmarks on https://github.com/microsoft/mimalloc exemplifies the variance between the implementations), but it's up to the programmer to implement memory management in the large in an efficient way, which is not an easy task. One sure mark of a slow C program is one with a ton of mallocs and frees strewn all over.
-
Linux Tech Tips EP#13: Testing Transparent Huge Pages and Cryo Utilities in Gaming | 3700X 6600XT
It's a very terse howto for replacing Factorio's memory allocator with Microsoft's mimalloc, and configuring mimalloc so that memory is always allocated on huge pages by using madvise().
-
Differences between Lean4 and Koka reference counting
I was wondering if Koka's perceus referencing counting style is any different from the reference counting that Lean4 implements? I understand that both rely upon the mimalloc (https://github.com/microsoft/mimalloc) library in the backend.
-
pmr implementation in c++14
If you are fine with heap allocations then there are only few dozens operator new/delete to override to regain control over normal C++ code memory use. Allocators and STL all need to call those. At least that's what gaming does on all platforms. If you need examples you can check Mimalloc on github ( https://github.com/microsoft/mimalloc/blob/master/include/mimalloc-new-delete.h ).
-
GitHub link to an Arma 3 allocator which increases performance by 20-50%
What's the difference between this and Microsoft's? https://github.com/microsoft/mimalloc
-
Rust Mimalloc v0.1.31 has just been released!
Version 0.1.31 of the Rust wrapper for the mimalloc memory allocator has just been released!
What are some alternatives?
celix - Apache Celix is a framework for C and C++14 to develop dynamic modular software applications using component and in-process service-oriented programming.
jemalloc
Ichor - C++20 Microservice Bootstrapping Framework
rpmalloc - Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C
cpp-clamp-cast
snmalloc - Message passing based allocator
tbb - oneAPI Threading Building Blocks (oneTBB) [Moved to: https://github.com/oneapi-src/oneTBB]
rust - Empowering everyone to build reliable and efficient software.
Hoard - The Hoard Memory Allocator: A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac.
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.
factorio-docker - Factorio headless server in a Docker container
gperftools - Main gperftools repository