Commit Graph
938 Commits
Author SHA1 Message Date
Sergiy Kuryata 6a7b0ff591 Implement free space mask for abandoned segments at the arena level 2025-01-26 17:11:16 -08:00
Sergiy Kuryata 94bdbe41bb Add debug version to verify that correct build is used for testing 2025-01-08 10:20:26 -08:00
Sergiy Kuryata ad18e02994 Various performance tuning 2025-01-04 16:49:14 -08:00
Sergiy Kuryata 340f2a74bb Handle medium allocation in dedicated segments 2024-12-09 21:37:27 -08:00
Sergiy Kuryata 5e7780cfbc Hanlde large allocations while droping excess of segments 2024-12-07 17:32:00 -08:00
Sergiy Kuryata d19f103ea3 Handle large allocations in separate segments 2024-12-05 19:44:52 -08:00
Sergiy Kuryata 0be44b2b0f Add global counters for segments and allocation stats 2024-11-26 16:32:54 -08:00
Sergiy Kuryata 02f3e0fe7a Switch to 64bit bitmask and bug fixes 2024-11-08 17:35:14 -08:00
Sergiy Kuryata 911de68d3e Experimental optimization for the segment reclamation logic.
The goal is to improve efficiency of finding an abandoned segment that contains free space of the required size.
This change adds a free space bitmask to the segment object. More optimal place for the bitmask could be in the arena (i.e. extend the arena’s bitmask for abandoned segments to include size information too).
2024-10-31 16:53:14 -07:00
Sergiy Kuryata b604099334 Experimental improvements to reduce memory usage
1. Prefer to use more loaded pages when allocating
2. Add an option to restrict unbounded heap growth and allow the excessive memory allocations to be re-used by other threads
2024-10-11 10:35:51 -07:00
Daan 998401b6d7 Merge branch 'dev' into dev-slice 2024-05-21 11:58:10 -07:00
daanx b9b321d328 use _builtin_thread_pointer also on gcc 11-x64 and clang-14-x64 2024-05-19 20:42:28 -07:00
Daan 1462cc4e9a Merge branch 'dev' into dev-slice 2024-05-19 15:43:26 -07:00
Daan 03224e17a0 bump cmake required version to 3.18 and detect libatomic more reliably, see pr #898 2024-05-19 13:25:31 -07:00
Daan 7ea7296d3e add malloc_good_size override maacro, see issue #900 and pr #901 2024-05-19 12:03:55 -07:00
Daan 65a0c82ac9 merge from dev (support for heap tag, upstream of python/cpython#113742 2024-05-19 08:10:35 -07:00
Daan 0c4041fa53 add support for custom heap and page tags, upstream of python/cpython#113742 2024-05-19 08:06:32 -07:00
Daan b822a44cfe merge from dev, upstream of python/cpython#113263 2024-05-18 17:47:07 -07:00
Daan 710d6138c7 refactor thread meta-data initilazation, upstream of python/cpython#113263 2024-05-18 17:42:47 -07:00
Daan 66052f135f allow custom thread id, upstream of python/cpython#115488) 2024-05-18 17:05:13 -07:00
Daan d4a7c0ffcc merge from dev 2024-05-18 16:57:35 -07:00
daanx 381da05d8a make mimalloc includes relative to the current file, upstream of python/cpython#113141 2024-05-18 16:48:58 -07:00
daanx c48a21215b fix arm64 windows compilation, upstream of python/cpython#111527 2024-05-18 16:41:39 -07:00
daanx 937fd19338 comment 2024-05-18 16:32:10 -07:00
Daan 1daa4ea627 Merge branch 'dev' into dev-slice 2024-05-18 10:01:31 -07:00