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 <[email protected]>
Co-authored-by: Bruno Oliveira <[email protected]>
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