29 min

They made Python faster with this compiler option The Backend Engineering Show with Hussein Nasser

    • Technology

Fundamentals of Operating Systems Course
https://oscourse.win

Looks like fedora is compiling cpython with the -o3 flag, which does aggressive function inlining among other optimizations.

This seems to improve python benchmarks performance by at most 1.16x at a cost of an extra 3MB in binary size (text segment). Although it does seem to slow down some benchmarks as well though not significantly.

O1 - local register allocation, subexpression elimination
O2 - Function inlining only small functions
O3 - Agressive inlining, SMID

0:00 Intro
1:00 Fedora Linux gets Fast Python
5:40 What is Compiling?
9:00 Compiling with No Optimization
12:10 Compiling with -O1
15:30 Compiling with -O2
20:00 Compiling with -O3
23:20 Showing Numbers

Backend Troubleshooting Course
https://performance.husseinnasser.com

Fundamentals of Operating Systems Course
https://oscourse.win

Looks like fedora is compiling cpython with the -o3 flag, which does aggressive function inlining among other optimizations.

This seems to improve python benchmarks performance by at most 1.16x at a cost of an extra 3MB in binary size (text segment). Although it does seem to slow down some benchmarks as well though not significantly.

O1 - local register allocation, subexpression elimination
O2 - Function inlining only small functions
O3 - Agressive inlining, SMID

0:00 Intro
1:00 Fedora Linux gets Fast Python
5:40 What is Compiling?
9:00 Compiling with No Optimization
12:10 Compiling with -O1
15:30 Compiling with -O2
20:00 Compiling with -O3
23:20 Showing Numbers

Backend Troubleshooting Course
https://performance.husseinnasser.com

29 min

Top Podcasts In Technology

Deep Questions with Cal Newport
Cal Newport
Acquired
Ben Gilbert and David Rosenthal
Lex Fridman Podcast
Lex Fridman
The TED AI Show
TED
Hard Fork
The New York Times
See Tomorrow First
See Tomorrow First