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

Lex Fridman Podcast
Lex Fridman
Deep Questions with Cal Newport
Cal Newport
Bankless
Bankless
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
The Real Python Podcast
Real Python
Security Now (Audio)
TWiT