@@ -226,7 +226,7 @@ set_insert_key(PySetObject *so, PyObject *key, Py_hash_t hash)
226
226
entry -> hash = hash ;
227
227
if ((size_t )so -> fill * 3 < mask * 2 )
228
228
return 0 ;
229
- return set_table_resize (so , so -> used > 50000 ? so -> used * 2 : so -> used * 4 );
229
+ return set_table_resize (so , so -> used );
230
230
231
231
found_active :
232
232
return 0 ;
@@ -290,6 +290,7 @@ set_table_resize(PySetObject *so, Py_ssize_t minused)
290
290
setentry small_copy [PySet_MINSIZE ];
291
291
292
292
assert (minused >= 0 );
293
+ minused = (minused > 50000 ) ? minused * 2 : minused * 4 ;
293
294
294
295
/* Find the smallest table size > minused. */
295
296
/* XXX speed-up with intrinsics */
@@ -616,7 +617,7 @@ set_merge(PySetObject *so, PyObject *otherset)
616
617
* that there will be no (or few) overlapping keys.
617
618
*/
618
619
if ((so -> fill + other -> used )* 3 >= so -> mask * 2 ) {
619
- if (set_table_resize (so , ( so -> used + other -> used ) * 2 ) != 0 )
620
+ if (set_table_resize (so , so -> used + other -> used ) != 0 )
620
621
return -1 ;
621
622
}
622
623
so_entry = so -> table ;
@@ -965,7 +966,7 @@ set_update_internal(PySetObject *so, PyObject *other)
965
966
if (dictsize == -1 )
966
967
return -1 ;
967
968
if ((so -> fill + dictsize )* 3 >= so -> mask * 2 ) {
968
- if (set_table_resize (so , ( so -> used + dictsize ) * 2 ) != 0 )
969
+ if (set_table_resize (so , so -> used + dictsize ) != 0 )
969
970
return -1 ;
970
971
}
971
972
while (_PyDict_Next (other , & pos , & key , & value , & hash )) {
@@ -1508,7 +1509,7 @@ set_difference_update_internal(PySetObject *so, PyObject *other)
1508
1509
/* If more than 1/5 are dummies, then resize them away. */
1509
1510
if ((so -> fill - so -> used ) * 5 < so -> mask )
1510
1511
return 0 ;
1511
- return set_table_resize (so , so -> used > 50000 ? so -> used * 2 : so -> used * 4 );
1512
+ return set_table_resize (so , so -> used );
1512
1513
}
1513
1514
1514
1515
static PyObject *
0 commit comments