Commit 4c161ab
Because `pytester.runpytest()` executes the full session cycle (including `pytest_unconfigure`), it was calling `gc.collect()` in a loop multiple times—even for small, fast tests. This significantly increased the total test suite runtime. To optimize performance, disable the gc runs in inline pytester runs entirely, matching the behavior before #12958. Locally the test suite runtime improved dramatically, dropping from 425s to 160s. Fixes #13482. (cherry picked from commit 391324e) Co-authored-by: Ran Benita <ran@unusedvar.com> Co-authored-by: Bruno Oliveira <bruno@soliv.dev>
1 parent a86ee09 commit 4c161ab
File tree
4 files changed
+43
-36
lines changed- src/_pytest
- testing
4 files changed
+43
-36
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1092 | 1092 | | |
1093 | 1093 | | |
1094 | 1094 | | |
| 1095 | + | |
| 1096 | + | |
1095 | 1097 | | |
1096 | 1098 | | |
1097 | 1099 | | |
| |||
1115 | 1117 | | |
1116 | 1118 | | |
1117 | 1119 | | |
1118 | | - | |
| 1120 | + | |
1119 | 1121 | | |
1120 | 1122 | | |
1121 | 1123 | | |
1122 | 1124 | | |
1123 | | - | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
1124 | 1130 | | |
1125 | 1131 | | |
1126 | 1132 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
84 | 86 | | |
85 | 87 | | |
86 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
87 | 92 | | |
88 | 93 | | |
89 | | - | |
| 94 | + | |
90 | 95 | | |
91 | 96 | | |
92 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2175 | 2175 | | |
2176 | 2176 | | |
2177 | 2177 | | |
2178 | | - | |
| 2178 | + | |
| 2179 | + | |
2179 | 2180 | | |
2180 | 2181 | | |
2181 | 2182 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | 3 | | |
6 | 4 | | |
7 | 5 | | |
| |||
229 | 227 | | |
230 | 228 | | |
231 | 229 | | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | 230 | | |
242 | 231 | | |
243 | 232 | | |
244 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
245 | 237 | | |
246 | 238 | | |
247 | 239 | | |
| |||
256 | 248 | | |
257 | 249 | | |
258 | 250 | | |
259 | | - | |
260 | | - | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
261 | 254 | | |
262 | | - | |
263 | | - | |
| 255 | + | |
264 | 256 | | |
265 | 257 | | |
266 | 258 | | |
267 | 259 | | |
268 | 260 | | |
269 | | - | |
270 | 261 | | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | 262 | | |
275 | 263 | | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
276 | 267 | | |
277 | 268 | | |
278 | 269 | | |
| |||
287 | 278 | | |
288 | 279 | | |
289 | 280 | | |
290 | | - | |
291 | | - | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
292 | 284 | | |
293 | | - | |
294 | | - | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
295 | 288 | | |
296 | 289 | | |
297 | 290 | | |
298 | 291 | | |
299 | 292 | | |
300 | | - | |
301 | 293 | | |
302 | 294 | | |
303 | 295 | | |
| |||
306 | 298 | | |
307 | 299 | | |
308 | 300 | | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
309 | 304 | | |
310 | 305 | | |
311 | 306 | | |
| |||
318 | 313 | | |
319 | 314 | | |
320 | 315 | | |
321 | | - | |
322 | | - | |
| 316 | + | |
323 | 317 | | |
324 | | - | |
325 | | - | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
326 | 321 | | |
327 | 322 | | |
328 | 323 | | |
| |||
0 commit comments