a tiny heap allocation library
  • C 92.5%
  • HTML 3.8%
  • Python 2.3%
  • CMake 1.4%
Find a file
2025-03-07 11:27:28 +01:00
.idea bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00
docs feat: added bucket binary tree strategy to reduce bucket maintenance overhead (+ tree visualizer by emitting DOT language) and changed the checksum from fnv1a to crc32 (with SSE 4.2 hardware acceleration support) 2025-02-11 12:47:21 +01:00
include bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00
internal/virtalloc bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00
scripts bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00
src bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00
tests bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00
.gitignore half working allocator, test 1 passes but test 2 doesn't yet 2025-01-24 00:39:37 +01:00
CMakeLists.txt bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00
README.md bugfixes, optimizations and heavy heap corruption checking mode (feat) 2025-03-07 11:27:28 +01:00

About

This project is a tiny heap allocator library for learning purposes. I primarily wanted to try coming up with a decently efficient allocation algorithm.

I ended up with an allocator that reaches similar speeds as glibc (generally slightly slower, but realloc appears to be faster than glibc, I suspect because glibc makes alignment guarantees that I don't make?). My allocator likely has more metadata overhead though.

Building

See BUILDING.md

Running tests

See TESTING.md

License

MIT License