Minimum deleted slot required to refactor

This commit is contained in:
方而静 2024-06-13 18:56:55 +08:00
parent b2d5708fd8
commit 8458e49a30
2 changed files with 3 additions and 3 deletions

View File

@ -12,8 +12,8 @@ if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8 /Ox /jumptablerdata /GS-")
add_compile_options(/wd4267 /wd4244)
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -frtti -O2")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -frtti")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
# disable -Wshorten-64-to-32 for apple
if(APPLE)

View File

@ -101,7 +101,7 @@ static void pkpy_Dict__extendht(pkpy_Dict* self, void* vm) {
static bool pkpy_Dict__refactor(pkpy_Dict* self, void* vm) {
int deleted_slots = self->_entries.count - self->count;
if(deleted_slots < self->_entries.count * 0.25) return false;
if(deleted_slots >= 8 && deleted_slots < self->_entries.count * 0.25) return false;
// shrink
self->_version += 1;