diff --git a/src/borghash/HashTable.pyx b/src/borghash/HashTable.pyx index 1efffbf..633a42e 100644 --- a/src/borghash/HashTable.pyx +++ b/src/borghash/HashTable.pyx @@ -263,6 +263,7 @@ cdef class HashTable: # We must never use kv indexes >= RESERVED, thus we'll never need more capacity either. cdef size_t capacity = min(new_capacity, RESERVED - 1) self.stats_resize_kv += 1 + # realloc is already highly optimized (in Linux). By using mremap internally only the peak address space usage is "old size" + "new size", while the peak memory usage is only "new size". self.keys = realloc(self.keys, capacity * self.ksize * sizeof(uint8_t)) self.values = realloc(self.values, capacity * self.vsize * sizeof(uint8_t)) self.kv_capacity = capacity