fast-school-44220
06/12/2026, 1:18 PMwide-midnight-78598
06/12/2026, 6:56 PMfast-nail-55400
06/12/2026, 11:07 PMwide-midnight-78598
06/13/2026, 12:24 PMworried-painter-31382
06/13/2026, 12:36 PMfast-nail-55400
06/14/2026, 10:59 PMfast-nail-55400
06/14/2026, 11:00 PMfast-nail-55400
06/14/2026, 11:00 PMfast-nail-55400
06/14/2026, 11:02 PMacoustic-librarian-29560
06/15/2026, 6:29 PMfast-school-44220
06/15/2026, 6:30 PMfast-school-44220
06/15/2026, 6:30 PMwide-midnight-78598
06/15/2026, 10:12 PMacoustic-librarian-29560
06/17/2026, 4:43 PMacoustic-librarian-29560
06/23/2026, 6:56 PMcurved-manchester-66006
06/23/2026, 7:43 PMIs going GIL free even that big of a performance improvement? I feel like most of the hot paths are already written in Rust, though I've never run pants through a profiler.I have no idea if free threading will be a successful path, but most profiles <https://github.com/pantsbuild/pants/pull/23147> I've looked at point towards there being plenty of hot-Python paths.
aloof-tiger-68736
06/24/2026, 6:30 PMacoustic-librarian-29560
06/24/2026, 9:28 PMacoustic-librarian-29560
06/26/2026, 6:48 PMfast-school-44220
06/26/2026, 6:56 PMacoustic-librarian-29560
06/26/2026, 6:59 PMfast-school-44220
06/26/2026, 7:03 PMcurved-manchester-66006
06/26/2026, 8:52 PMonce I start my new gig,Congrats!
worried-painter-31382
07/02/2026, 2:34 PMwide-midnight-78598
07/02/2026, 3:17 PMworried-painter-31382
07/02/2026, 3:19 PMwide-midnight-78598
07/02/2026, 5:59 PMaloof-tiger-68736
07/02/2026, 6:00 PMfast-nail-55400
07/02/2026, 6:27 PMfast-school-44220
07/02/2026, 6:29 PMwide-midnight-78598
07/02/2026, 6:41 PMwide-midnight-78598
07/02/2026, 6:41 PMworried-painter-31382
07/02/2026, 6:47 PMworried-painter-31382
07/02/2026, 6:55 PMworried-painter-31382
07/02/2026, 6:55 PMaloof-tiger-68736
07/03/2026, 1:24 AM@goal_rule cmdline is pointed to a file containing a list of ~6.5k of those BUILD files, to kick things off, and some subset of the remaining ~10k are dynamically discovered during the build.
These BUILD files collectively describe ~200k (trivial) processes that end up getting invoked by execute_process . Many of these processes take as inputs the outputs of others, so there's still something approximating a "real build", with hierarchy.
Scott focused on RBE runs. I focused on local runs.
At the full scale, my runs were doomed to DNF (many, many hours of runtime), without what is now PR #23466 ("permit vfork in local `execute_process`"), because they would slow to a crawl early.
With that vfork PR in place, the full build takes my machine somewhere in the ballpark of ~35m. (From memory, Scott's RBE runs using unmodified Pants were in the 20m-30m ballpark; we ran from different machines in different environments, so I can't speak to the nature of that discrepancy.)
With the vfork PR and the free-threading PR in place, the full build took my machine ~7m6s, given --process-execution-local-parallelism=16 --rule-threads-core=16 --rule-threads-max=32 .
This is likely not the optimal set of knobs, but I haven't run many tests yet. Halving those configurables bumps the wallclock up to ~9m27s, for example, which is still a significant improvement.aloof-tiger-68736
07/03/2026, 1:28 AMworried-painter-31382
07/03/2026, 12:03 PMworried-painter-31382
07/03/2026, 12:03 PMaloof-tiger-68736
07/06/2026, 9:22 PMvfork PRs).
With TOT from today (which now includes the vfork fix and newly includes #23481, and again plus free-threading PR), the same test with the same knobs was a similar ~7m2s, but only 18.7 GB max RSS.
This is an excellent improvement and for such a small PR. Thank you!!
Hopefully there's some other opportunities lurking elsewhere for us to find as well; our larger-scale tests consume hundreds of GB of memory (before this PR; untested with it), so even "small" memory optimizations could still have fairly significant impact.fast-school-44220
07/08/2026, 1:17 AMworried-painter-31382
07/27/2026, 10:52 AMworried-painter-31382
07/27/2026, 10:53 AM