From b8bb9e1549aa7086c20deae81e3b90b363b4f159 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Wed, 17 Mar 2021 15:23:04 +0000 Subject: [PATCH] Reduced the garbage collection frequency in runtests.py. --- tests/runtests.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/runtests.py b/tests/runtests.py index afdf68c21b..a82b183519 100755 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -2,6 +2,7 @@ import argparse import atexit import copy +import gc import os import shutil import socket @@ -53,6 +54,13 @@ warnings.filterwarnings( category=RemovedInDjango41Warning, ) +# Reduce garbage collection frequency to improve performance. Since CPython +# uses refcounting, garbage collection only collects objects with cyclic +# references, which are a minority, so the garbage collection threshold can be +# larger than the default threshold of 700 allocations + deallocations without +# much increase in memory usage. +gc.set_threshold(100_000) + RUNTESTS_DIR = os.path.abspath(os.path.dirname(__file__)) TEMPLATE_DIR = os.path.join(RUNTESTS_DIR, 'templates')