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

TikTok
Catarina Vieira
Super Data Science: ML & AI Podcast with Jon Krohn
Jon Krohn
ReplyAll
ReplyAll
Talk Python To Me
Michael Kennedy (@mkennedy)
Invisible Machines podcast by UX Magazine
Invisible Machines
Apple Events (audio)
Apple