diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2024-11-22 14:32:51 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2024-11-22 16:35:43 -0500 |
| commit | 31275f4cee6f0593fc39fecef04477d4a26e8df4 (patch) | |
| tree | 5ae3dfc297fb3729ecf74b0e8a52bb7cf3ddc574 /pk.h.in | |
| parent | f23b4ce2dd648174a5df0e259faf7209c5d4c653 (diff) | |
pkmem.h: test for expected assert failures
Diffstat (limited to 'pk.h.in')
| -rw-r--r-- | pk.h.in | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -52,9 +52,14 @@ ******************************************************************************** * pkmem.h: def PK_IMPL_MEM before including pk.h to enable ad-hoc. * -* A bucketed memory manager. Allows the creation and management of up to a well -* known number of buckets. While this is thread-safe, the threading safety is -* a Grug implementation via a single mutex. PRs welcome. +* A bucketed memory manager. Allows for the creation and management of up to a +* well-defined number of buckets. +* +* Thread safety: Bucket creation and destruction is *not* thread-safe. On the +* other hand, the "pk_new" and "pk_delete" methods *are* thread-safe, but +* thread-safety is implemented per-bucket via a single mutex with long-running +* lock times. PRs for a more performant thread-safe strategy are welcome, +* complexity and benchmark depending. * * The following definitions (shown with defaults) can be overridden: * PK_DEFAULT_BUCKET_SIZE 256MB (used when bkt is NULL on first call) |
