DiscoverThe Backend Engineering Show with Hussein NasserThey made Python faster with this compiler option
They made Python faster with this compiler option

They made Python faster with this compiler option

Update: 2024-05-07
Share

Description

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

Comments 
00:00
00:00
1.0x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

They made Python faster with this compiler option

They made Python faster with this compiler option

Hussein Nasser