pablogsal
(Pablo Galindo Salgado)
April 13, 2026, 4:11pm
1
Hi everyone!
We are happy to announce PEP 831 – “Frame Pointers Everywhere”
This PEP proposes building CPython with -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer by default starting in Python 3.15, so that profilers, debuggers, and eBPF-based tracing tools (perf, py-spy, bpftrace, Pyroscope, etc.) can produce complete, reliable call stacks for Python processes out of the box and we can enjoy more reliable profiling, debugging and system observability.
The future is now!
Python Enhancement Proposals (PEPs)
This PEP proposes two things:
25 Likes
gpshead
(Gregory P. Smith)
April 13, 2026, 4:15pm
2
+10 We should just do it. Many of the largest companies in the world have been building everything (including CPython) they run in their fleets of datacenters for decades with frame pointers enabled for all of the reasons spelled out in the PEP.
10 Likes
pablogsal
(Pablo Galindo Salgado)
April 13, 2026, 4:15pm
3
I would also like to publicly thank my dear co-authors @savannahostrowski, @kj0 and @diegor! You all rock
9 Likes
This is an awesome write up, as a non-expert that’s tangentially interested in profiing, I really appreciate the pedagogical explanations!
I would also like to publicly thank my dear co-authors @savannahostrowski, @kj0 and @diegor! You all rock
Diego is not included in the PEP author list?
3 Likes
pablogsal
(Pablo Galindo Salgado)
April 13, 2026, 11:22pm
5
Diego is not included in the PEP author list?
Yes, we are waiting for some (external) procedures to be approved before it gets added.
2 Likes
thomas
(Thomas Wouters)
April 30, 2026, 9:57pm
6
After extensive deliberation the Steering Council has decided to accept PEP 831 (Frame Pointers Everywhere: yahdah yahdah), because it’s clearly the correct and necessary thing… although we wish the PEP and its title had been a lot shorter, given how much of an obvious decision it is. Congrats!
(Pablo and Savannah, as PEP authors, were not involved in the decision process.)
19 Likes