Skip to content

Commit 78b6dea

Browse files
gh-75876: Correct the memory use declared by two bigmem tests
repr() of a list or a tuple of 2**31 False takes 15.3 bytes per item, not 15, and str.split() takes 10.7 bytes per item and more for a larger string, not 10. The difference is small, but it grows with the size of the test: 614 MiB for test_repr_large.
1 parent 8bc2c01 commit 78b6dea

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

Lib/test/test_bigmem.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ def test_split_small(self, size):
373373
# suffer for the list size. (Otherwise, it'd cost another 48 times
374374
# size in bytes!) Nevertheless, a list of size takes
375375
# 8*size bytes.
376-
@bigmemtest(size=_2G + 5, memuse=ascii_char_size * 2 + pointer_size)
376+
@bigmemtest(size=_2G + 5, memuse=ascii_char_size * 3 + pointer_size)
377377
def test_split_large(self, size):
378378
_ = self.from_latin1
379379
s = _(' a') * size + _(' ')
@@ -936,11 +936,11 @@ def basic_test_repr(self, size):
936936
self.assertEqual(s[:10], '(False, Fa')
937937
self.assertEqual(s[-10:], 'se, False)')
938938

939-
@bigmemtest(size=_2G // 7 + 2, memuse=pointer_size + ascii_char_size * 7)
939+
@bigmemtest(size=_2G // 7 + 2, memuse=pointer_size + ascii_char_size * 8)
940940
def test_repr_small(self, size):
941941
return self.basic_test_repr(size)
942942

943-
@bigmemtest(size=_2G + 2, memuse=pointer_size + ascii_char_size * 7)
943+
@bigmemtest(size=_2G + 2, memuse=pointer_size + ascii_char_size * 8)
944944
def test_repr_large(self, size):
945945
return self.basic_test_repr(size)
946946

@@ -1115,11 +1115,11 @@ def basic_test_repr(self, size):
11151115
self.assertEqual(s[-10:], 'se, False]')
11161116
self.assertEqual(s.count('F'), size)
11171117

1118-
@bigmemtest(size=_2G // 7 + 2, memuse=pointer_size + ascii_char_size * 7)
1118+
@bigmemtest(size=_2G // 7 + 2, memuse=pointer_size + ascii_char_size * 8)
11191119
def test_repr_small(self, size):
11201120
return self.basic_test_repr(size)
11211121

1122-
@bigmemtest(size=_2G + 2, memuse=pointer_size + ascii_char_size * 7)
1122+
@bigmemtest(size=_2G + 2, memuse=pointer_size + ascii_char_size * 8)
11231123
def test_repr_large(self, size):
11241124
return self.basic_test_repr(size)
11251125

0 commit comments

Comments
 (0)