From de0db63bca051a9d410e47c434580ef16eae00cf Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Thu, 11 Jan 2024 22:36:31 +0800 Subject: [PATCH] ... --- src/memory.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/memory.cpp b/src/memory.cpp index cd75a9bc..7677ba81 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -124,6 +124,8 @@ struct DoubleLinkedList{ template struct MemoryPool{ static const size_t __MaxBlocks = 256*1024 / __BlockSize; + static const size_t __MinArenaCount = PK_GC_MIN_THRESHOLD*100 / (256*1024); + struct Block{ void* arena; char data[__BlockSize]; @@ -224,6 +226,7 @@ struct MemoryPool{ void shrink_to_fit(){ PK_GLOBAL_SCOPE_LOCK(); + if(_arenas.size() < __MinArenaCount) return; _arenas.apply([this](Arena* arena){ if(arena->full()){ _arenas.erase(arena);