2015-05-19 04:02:24 +00:00
|
|
|
import sys
|
|
|
|
import time
|
|
|
|
|
|
|
|
|
|
|
|
if '__pypy__' not in sys.builtin_module_names:
|
|
|
|
# pypy's gc really is different
|
|
|
|
|
|
|
|
from boltons.gcutils import get_all, toggle_gc_postcollect
|
|
|
|
|
|
|
|
def test_get_all():
|
2024-02-03 17:30:39 +00:00
|
|
|
class TestType:
|
2015-05-19 04:02:24 +00:00
|
|
|
pass
|
|
|
|
|
|
|
|
tt = TestType()
|
|
|
|
|
|
|
|
assert len(get_all(TestType)) == 1
|
|
|
|
assert len(get_all(bool)) == 0
|
|
|
|
return
|
|
|
|
|
|
|
|
def test_toggle_gc_postcollect():
|
|
|
|
COUNT = int(1e6)
|
|
|
|
|
|
|
|
start = time.time()
|
|
|
|
with toggle_gc_postcollect:
|
|
|
|
x = [{} for x in range(COUNT)]
|
|
|
|
no_gc_time = time.time() - start
|
|
|
|
|
|
|
|
start = time.time()
|
|
|
|
x = [{} for x in range(COUNT)]
|
|
|
|
with_gc_time = time.time() - start
|
|
|
|
|
2015-05-19 07:14:34 +00:00
|
|
|
time_diff = no_gc_time < with_gc_time
|