You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Doing profiling on running a pants nailgun client against a warm pantsd, we're spending a lot of time running the DaemonPantsRunnerexit method. For instance, see the attached speedscope performance graph taken with sudo py-spy record -p <pantsd_pid> -i -o ./pyspy-output.speedscope --format speedscope, run with the following code:
Effective args: ["--v2", "--no-v1", "--no-v2-ui", "--enable-pantsd", "lint", "src/python/pants/engine::"]
Running with pantsd
Pantsd port: 37963
TIME: 1585782307.393
src/python/pants/engine/objects.py:181:5: F811 redefinition of unused '__getitem__' from line 177
Is v1 set in daemon pants runner: False
All done! ✨ 🍰 ✨
31 files would be left unchanged.
Exiting with: 1
________________________________________________________
Executed in 1.08 secs fish external
usr time 107.12 millis 716.00 micros 106.40 millis
sys time 59.40 millis 197.00 micros 59.20 millis
The text was updated successfully, but these errors were encountered:
### Problem
The setup and teardown of each request made to the nailgun server in `pantsd` had become quite complicated over time... and consequently, slower than it needed to be.
### Solution
Port `pantsd`'s nailgun server to rust using the `nails` crate. Additionally, remove the `Exiter` class, which had accumulated excess responsibilities that can instead be handled by returning `ExitCode` values. Finally, fix a few broken windows including: double logging to pantsd, double help output, closed file errors on pantsd shutdown, and redundant setup codepaths.
### Result
There is less code to maintain, and runs of `./pants --enable-pantsd help` take `~1.7s`, of which `~400ms` are spent in the server. Fixes#9448, fixes#8243, fixes#8206, fixes#8127, fixes#7653, fixes#7613, fixes#7597.
Doing profiling on running a pants nailgun client against a warm pantsd, we're spending a lot of time running the
DaemonPantsRunner
exit
method. For instance, see the attached speedscope performance graph taken withsudo py-spy record -p <pantsd_pid> -i -o ./pyspy-output.speedscope --format speedscope
, run with the following code:The text was updated successfully, but these errors were encountered: