steering-council icon indicating copy to clipboard operation
steering-council copied to clipboard

PEP 669 -- Low Impact Monitoring for CPython

Open markshannon opened this issue 3 years ago • 2 comments

Please consider PEP 669 -- Low Impact Monitoring for CPython https://peps.python.org/pep-0669/

Discussed here: https://discuss.python.org/t/pep-669-low-impact-monitoring-for-cpython/13018 This PEP was also announced on Python dev, but there was no response there.

The PEP incorporates feedback from the potential users.

Even if no one uses this PEP, it provides a mechanism to speed up CPython by ~1% by eliminating the runtime overhead of supporting sys.setprofile() and sys.settracing().

I expect that it will be used, though. Slipcover already uses a similar, but somewhat ad-hoc, approach to perform coverage. Running tests with Slipcover coverage on 3.11 is faster than running tests with no coverage on 3.10. PEP 669 should allow coverage.py to use a similar approach, without the hacks, and even better performance.

Given that debuggers using PEP 669 will be much faster than using PEP 523 or sys.settracing(), I expect debuggers to adopt it as well.

markshannon avatar Sep 01 '22 11:09 markshannon

Thanks! I added it to the SC agenda.

encukou avatar Sep 01 '22 11:09 encukou

A reply was posted at https://discuss.python.org/t/13018/36

encukou avatar Sep 19 '22 18:09 encukou

The Steering Council accepts PEP 669 (Low Impact Monitoring for CPython).

We'd like to point out that, as with any PEP, if the initial implementation requires design changes, they need to be re-approved and noted in the PEP (see PEP 1).
Please just ping a SC member on the pull request if/when you change the PEP.

To be clear, we expect that all claims in the PEP will hold, and that the PEP will mention all known cases where the implementation degrades performance.

If the changes are unacceptable, the SC may still reject the PEP and ask for reverting the change. (You could say the PEP is "provisionally accepted, pending the implementation" -- except it's how PEP acceptance works in general. In this case, the SC does still have some reservations, but a successful implementation would be the best way to resolve them.)

— Petr, on behalf of the SC

encukou avatar Nov 07 '22 20:11 encukou