65 Commits

Author SHA1 Message Date
Mattias Jansson
31966e5070 Improved codegen in free path 2023-10-22 14:56:07 +02:00
Mattias Jansson
385a7dbb64 Update readme 2023-10-22 10:12:35 +02:00
Mattias Jansson
8cb4337651 Unify standard overrides and tests 2023-10-22 09:24:08 +02:00
Mattias Jansson
70af81984c Clean up thread init/fini and remove need for preload define 2023-10-21 23:20:33 +02:00
Mattias Jansson
847fb52eac Update standard entry point overrides on Apple platforms (#283) 2022-06-12 22:35:11 +02:00
rgal
743d91e5c2 Fix some typos in readme.md 2021-11-16 09:10:51 +00:00
Mattias Jansson
cb2201c7f3 Fix typo 2021-08-06 20:17:08 +02:00
Mattias Jansson
ec61ad8e87 Add discord link 2021-07-24 09:30:49 +02:00
Mattias Jansson
8bebedca49 Remove sponsor link (#250) 2021-07-22 23:39:24 +02:00
Ponnuvel Palaniyappan
c10a3d703f Fix typos (#189) 2020-09-14 07:38:11 +02:00
Mattias Jansson
ed9e13f864 Update description 2020-07-08 20:18:13 +02:00
Mattias Jansson
2b519192ff Refactor for readability (#162)
- Rename internal methods to have rpmalloc prefix to make callstacks easier to read
- Improve grouping of functions based on context
2020-03-24 18:12:37 +01:00
Mattias Jansson
313785648b Refactor finalization to support global scope dynamic deallocation (#145) 2020-01-31 23:51:56 +01:00
Mattias Jansson
3792374b5a First class heaps (#131) 2020-01-02 11:04:36 +01:00
Stas Denisov
cab9e2ef2e Mention a C# wrapper (#130) 2019-12-28 12:59:52 +01:00
Mattias Jansson
8067c343f3 remove old reference to guards 2019-12-25 23:37:13 +01:00
Mattias Jansson
26147f094a Allow huge pages to split into multiple heap control structures (#121) 2019-11-09 12:39:31 +01:00
Mattias Jansson
c4f3ed40f8 update changelog 2019-11-05 21:10:12 +01:00
Mattias Jansson
9ebe0ce0c5 update docs 2019-08-08 20:13:34 +02:00
Mattias Jansson
222e710663 update documentation 2019-07-26 20:06:57 +02:00
Mattias Jansson
dac8e48957 Stabilization fixes (#105)
* revert to 16 byte alignment, fix small block size class calculation and guard init for preloading
* give zero size special size class to speed up class calculation slightly
* simplify free span detection
* verify block size on allocation
* fix alignment limit
* more detailed statistics
* avoid extra init calls in malloc overrides
* public access to detailed statistics
* avoid extra global memory access by storing data in span header
* avoid having to use extra flag in deferred list atomic
* make configurable span and page sizes a preprocessor control
* separate deferred list and size
* use partial span list for active span, push new partials at tail
* use interpose on apple platforms
2019-07-23 12:32:00 +02:00
Mattias Jansson
8b9862cc67 Put license in readme (#93) 2019-05-24 11:02:58 +02:00
Mattias Jansson
7963a0278a update repository url 2019-05-23 22:37:29 +02:00
Mattias Jansson
7272420e73 update docs 2018-03-27 21:33:13 +02:00
Mattias Jansson
f6f2369c37 Huge page support and allow atomic span unmapping (#59)
huge/large pages support on windows, linux and macos
avoid deferring span unmaps to owner thread by atomic span remainder counter
remove span map count limit
2018-03-27 13:49:33 +02:00
Mattias Jansson
c1f8faa977 Enable 64KiB page size and improve cache/unmap control (#56)
unmap pre-padding pages to avoid offset
set page limit to 64k
separate cache control
fix sign conversions
add option to disable unmapping memory pages
update docs
2018-03-23 19:54:16 +01:00
Mattias Jansson
5a279e43ff update docs 2018-02-13 08:51:03 +01:00
Mattias Jansson
9d2392d0ac cleanups and updated docs 2018-02-12 23:36:55 +01:00
Mattias Jansson
d4237be157 Super spans (#50)
allow spans to map/unmap in superspan groups
unify cache handling and allow breakup of large superspans
2018-02-04 21:03:31 +01:00
Mattias Jansson
0b83775571 update docs 2018-01-31 08:51:04 +01:00
Mattias Jansson
bb8a749984 Configurable span granularity (#48) 2018-01-30 12:34:59 +01:00
Mattias Jansson
7eb62ee892 Test cases (#45) 2018-01-23 10:06:06 +01:00
Mattias Jansson
504dedc22c update docs 2018-01-22 12:15:13 +01:00
Mattias Jansson
4af796aaf1 Memory guards (#44)
add optional memory guards
2018-01-22 11:38:51 +01:00
Mattias Jansson
2266b36156 Configurable page size (#42)
* separate page size and class setup
* modify implementation to allow page sizes in [512,16384] range
2018-01-22 08:14:57 +01:00
Mattias Jansson
64053c8ac5 update docs 2018-01-18 11:59:08 +01:00
Dair Grant
89e3259c40 Fix typos. 2018-01-16 20:55:47 +00:00
Mattias Jansson
7f00456e69 split into two separate libraries, one for rpmalloc only code and one with libc overrides 2017-10-07 23:32:10 +02:00
Mattias Jansson
47041de81d clarification for libc entry points 2017-08-27 10:51:51 +02:00
Mattias Jansson
485b0f53a2 clarify usage and caveats 2017-08-26 21:04:12 +02:00
Mattias Jansson
206f04db5a dual license 2017-04-06 08:07:25 +02:00
Mattias Jansson
bb658201d9 updating documentation 2017-04-05 11:50:34 +02:00
Mattias Jansson
12053ef159 clarify producer-consumer scenario 2017-04-03 12:59:19 +02:00
Mattias Jansson
c857c1a721 update documentation 2017-04-03 12:26:33 +02:00
Mattias Jansson
f65de4c56e add more documentation 2017-03-28 12:59:11 +02:00
Mattias Jansson
db8622cd30 rephrasing some sections 2017-03-27 09:42:29 +02:00
Mattias Jansson
39da1347cf updating benchmarks, part one 2017-03-26 23:40:09 +02:00
Mattias Jansson
b4e684afcf more statistics 2017-03-25 07:04:37 +01:00
Mattias Jansson
261b7e1a15 adding a quick overview 2017-03-24 09:30:13 +01:00
Mattias Jansson
ba247be6c2 improve documentation regarding fragmentation and best/worst case scenarios 2017-03-24 09:22:12 +01:00