quakeforge/libs
Bill Currie af814ff9a8 [util] Add a cache-line aligned memory allocator
This was inspired by
Hoard: A Scalable Memory Allocator
  for Multithreaded Applications

 Emery D. Berger, Kathryn S. McKinley, Robert D. Blumofe, Paul R.
 Wilson,

It's not anywhere near the same implementation, but it did take a few
basic concepts. The idea is twofold:
1) A pool of memory from which blocks can be allocated and then freed
en-mass and is fairly efficient for small (4-16 byte) blocks
2) Tread safety for use with the Vulkan renderer (and any other
multi-threaded tasks).

However, based on the Hoard paper, small allocations are cache-line
aligned. On top of that, larger allocations are page aligned.

I suspect it would help qfvis somewhat if I ever get around to tweaking
qfvis to use cmem.
2020-12-21 14:14:29 +09:00
..
audio Merge branch 'master' into vulkan 2020-06-25 14:03:52 +09:00
client [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
console Merge branch 'master' into vulkan 2020-06-25 14:03:52 +09:00
gamecode [gamecode] Add a comment about returning temp strings 2020-07-05 16:53:35 +09:00
gib [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
image [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
models [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
net Merge branch 'master' into vulkan 2020-06-25 14:03:52 +09:00
qw [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
ruamoko [ruamoko] Fix incorrect clearing of dtables 2020-08-17 13:58:35 +09:00
util [util] Add a cache-line aligned memory allocator 2020-12-21 14:14:29 +09:00
video [build] Support silent rules for sed 2020-07-17 01:20:02 +09:00
Makemodule.am [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00