Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/node-dot-cpp/alloc-test
Cross-platform benchmarking for memory allocators, aiming to be as close to real world as it is practical
https://github.com/node-dot-cpp/alloc-test
Last synced: about 2 months ago
JSON representation
Cross-platform benchmarking for memory allocators, aiming to be as close to real world as it is practical
- Host: GitHub
- URL: https://github.com/node-dot-cpp/alloc-test
- Owner: node-dot-cpp
- License: bsd-3-clause
- Created: 2018-06-22T14:46:02.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-25T08:56:59.000Z (almost 6 years ago)
- Last Synced: 2024-08-04T02:09:25.267Z (5 months ago)
- Language: C++
- Size: 81.1 KB
- Stars: 43
- Watchers: 10
- Forks: 12
- Open Issues: 4
-
Metadata Files:
- Readme: README.txt
- License: LICENSE
Awesome Lists containing this project
- AwesomeCppGameDev - alloc-test - platform benchmarking for memory allocators, aiming to be as close to real world as it is practical (C++)
README
NOTE: 32-BIT PLATFORMS HAVE NOT YET BEEN TESTED!
To test tcmalloc / jemalloc / hoard / ptmalloc:
1. Make sure new_delete_allocator is selected at selector.h
2. See useful build notes at section "Testing" at http://ithare.com/testing-memory-allocators-ptmalloc2-tcmalloc-hoard-jemalloc-while-trying-to-simulate-real-world-loads/
3. Edit build_gcc.sh to enable one of the above allocators (add/edit to have one of -ljemalloc, -ltcmalloc, -lhoard, or -L path/to/libmalloc.a) (
Note: -lhoard: see https://github.com/emeryberger/Hoard
-L path/to/libmalloc.a assumes that libmalloc.a is already built for a target platformTo test any other allocator:
1. Create "src/my_allocator.h" file with a class representing an allocator to be tested.
As a sample "src/new_delete_allocator.h" or "src/void_allocator.h" could be taken.
class MyAllocator must have all member functions found in the above-mentioned samples
as this class is used as a template parameter in the testing routine
2. Edit "src/selector.h" to switch to using a new allocator3. Rebuild and run