-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
-
2.372
after every build the processtree killer will kick off.
on my reasonably powererful windows laptop with lots of stuff open this can take 700+ms
This impacts every unit test and has been the cause of having to disable some tests on windows - which is not great.
The code needs to be improved.
One way to do this is to pass the list of environment variables to check down to C++ and only return the pids for them rather then every pid - which is then parsed and put into a map (which consumes over half of the time)
I have ~490 processes running,
- links to
a crude JMH benchmark backs up that the native code is not so much the problem but the parsing of the long string afterwards.
the native call and parsing is using ~2.2ms per call , the native call only is using approx 0.1ms
I have currently 370+ processes that need to be enumerated to see if they need to be killed for each build. so that is the approximate 700ms per build that the unit test kicks off (and it kicks off a lot of them).