Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chr15f0x/memory-pools
LiberalPool aims to be almost as good as this Fast Efficient Fixed-Size Pool at the same time allowing double free without pool metadata corruption at a cost of roughly 1 bit per block.
https://github.com/chr15f0x/memory-pools
memory-pools
Last synced: 6 days ago
JSON representation
LiberalPool aims to be almost as good as this Fast Efficient Fixed-Size Pool at the same time allowing double free without pool metadata corruption at a cost of roughly 1 bit per block.
- Host: GitHub
- URL: https://github.com/chr15f0x/memory-pools
- Owner: CHr15F0x
- License: mit
- Created: 2018-09-04T19:10:57.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-11T15:04:08.000Z (almost 6 years ago)
- Last Synced: 2024-12-08T00:26:47.029Z (28 days ago)
- Topics: memory-pools
- Language: C++
- Homepage:
- Size: 23.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# memory-pools
[![Build Status](https://travis-ci.com/CHr15F0x/memory-pools.svg?branch=master)](https://travis-ci.com/CHr15F0x/memory-pools)
[![codecov](https://codecov.io/gh/CHr15F0x/memory-pools/branch/master/graph/badge.svg)](https://codecov.io/gh/CHr15F0x/memory-pools)# Introduction
Memory pool experiments, so far one of the ideas is implemented.# LiberalPool
Aims to be almost as good as this [Fast Efficient Fixed-Size Memory Pool](https://www.google.pl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=2ahUKEwiHsOK0g8PgAhXqp4sKHTs4DzQQFjAAegQIBRAC&url=https%3A%2F%2Fwww.thinkmind.org%2Fdownload.php%3Farticleid%3Dcomputation_tools_2012_1_10_80006&usg=AOvVaw2kKpQA4k8Y4aBq5KpD5Gtf) but at the same time allowing double free errors without pool metadata corruption, hence the __liberal__ prefix.
This comes at a cost of roughly __1 bit per block__.## Usage
Just __#include__ __liberal-pool.h__ into your project.Pool capacity can be set during compilation (_StaticLiberalPool_) or in run time (_LiberalPool_).
## Build & run tests
```
mkdir -p build && cd build && cmake .. && make -j && make test
```
_Remember to ```git submodule update --init --recursive``` after cloning_
## Platform
So far tried __GCC__ on __Ubuntu16.04__ and __Arch__.