From c36696255d350fe4f24c404f18bbe24b0e156103 Mon Sep 17 00:00:00 2001 From: Mineplay Date: Wed, 28 May 2025 03:54:30 -0500 Subject: [PATCH] perf(hash table): made shrink to fit skip capacity calculation if size is 0 --- Src/Core/HashTable.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Src/Core/HashTable.c b/Src/Core/HashTable.c index d0e813b..b801bc4 100644 --- a/Src/Core/HashTable.c +++ b/Src/Core/HashTable.c @@ -216,9 +216,10 @@ FledastyError fledasty_hash_table_shrink_to_fit(FledastyHashTable *current_hash_ const size_t old_capacity = current_hash_table->capacity; FledastyDynamicArray *previous_table = current_hash_table->Table; - current_hash_table->capacity = (current_hash_table->size * 100) / FLEDASTY_HASH_TABLE_SIZE_THRESHOLD; - if (current_hash_table->capacity == 0) { + if (current_hash_table->size == 0) { current_hash_table->capacity = 1024; + } else { + current_hash_table->capacity = (current_hash_table->size * 100) / FLEDASTY_HASH_TABLE_SIZE_THRESHOLD; } current_hash_table->Table = (FledastyDynamicArray*)hallocy_calloc(sizeof(FledastyDynamicArray), current_hash_table->capacity);