HN Hall of Fame Weekly email

Why Python Is Slow: Looking Under the Hood

jakevdp.github.io Books & learning Tutorials & guides Software engineering Class of 2021-08 Hall of Fame
Screenshot of jakevdp.github.io captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 5 calendar years, with breakout response in 3 of them.

submissions
6
submitters
6
observed span
2014–2024
peak thread · 178 comments
220 pts
latest 20+ return · 2017-10-25
170 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

A related question is: why is Perl so fast? Quite a few years ago I wrote a little Runge-Kutta solver in Perl for some simulation work. It seemed like a good idea at the time. The equations of motion had to be integrated over a very long time, and it could take hours for a single run (still much faster than the Monte Carlo it was being used to do a sanity-check on). I re-wrote everything in C++, and picked…

Dynamic typing makes Python easier to use than C I disagree with the implications. The main reasons Python is easier to use is independent of type system. Not having to manually manage memory, for example! Overall it is a higher-level language, whereas C is designed for maximum performance. Dynamic typing is probably preferable to a 40 year old type system. But Python could be easier to use (catch bugs ahead of time!) and execute faster by adding a modern type…

>[boxed values...] The dynamic typing means that there are a lot more steps involved with any operation. This is a primary reason that Python is slow compared to C for operations on numerical data. Not exactly. Setting typecodes and vals doesn’t slow things down by many orders of magnitude. The main reason python is relatively slow is that there is no practical way to reason about what parts of program may be optimized out or leveled down to native datatypes…

wruza·170-point thread·

Not because I want to limit discussions here, but this has been posted before on HN and there are many great comments in these threads. So, this comment is more of a useful suggestion, that if you are interested, check these comments out too (both 2+ years old). https://news.ycombinator.com/item?id=8625280 https://news.ycombinator.com/item?id=7721096

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
3

100+ points or 50+ comments

Total points
745

reference only — not used in Hall rules or ranking

Total comments
579

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2014-05-09Why Python is Slow: Looking Under the HoodFirst breakoutunderyx208176
2014-11-18Why Python Is Slow: Looking Under the HoodBest threadkarlheinz_py220148
2016-07-07Why Python Is Slow: Looking Under the Hood (2014)bshanks14277
2017-10-25Why Python is Slow: Looking Under the Hood (2014)Latest 20+ point returns16h170178
2021-08-26Why Python Is Slow: Looking Under the Hood (2014)Hall inductiontuxie_30
2024-03-27Why Python Is Slow: Looking Under the Hood (2014)fdeage20