Skip to content
0:00 / 0:00

#optimization#caching#pipelining

How to Speed up a Python Program 114,000 times.

InfoQ

234K subscribers • 65 videos on Hallway • Conference channel

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2016 to 2020.
  • Presented by David Schachter

Intermediate. Assumes working knowledge.

170K views13 years ago3 recommendations

Systems programmingProgramming languagesPythonPerformance and optimizationCPUs and computer architecture

David Schachter shares how he optimized a Python data-collection program by 114,000 times using hardware-level optimizations and pipelining.

Optimizations are one thing -- making a serious data collection program run 114,000 times faster is another thing entirely. Leaning on 30+ years of programming experience, David Schachter goes over all the optimizations he made to his (secret) company's data-collecting program to get such massive performance gains. In doing so, he might be able to teach you a thing or two about optimizing a python program. Want to learn more about python? Check out more Marakana videos here: marakana.com/s/tags/python

Why it's here

3 people recommend this

What people say. Recommended as an entertaining and insightful talk on how understanding computer architecture can lead to massive performance gains.

anootheron Hacker News • Recommends

On “Ask HN: What's your favorite tech talk?”

"How to Speed up a Python Program 114,000 times." - link to this video Humour, serious technical insight and a good reminder of why being a generalist is an advantage.

gravypodon Hacker News • Recommends

On “Talks that changed the way I think about programming”

This will technically only work on pipelined architectures of which all major CPU architectures are one. You will be able to see a significant boost to performance given the following are all true: * You have no inter dependancy of information across the lines * All your data is in the cache * You don't have instructions generated between the two lines that will require some sort of operand forwarding Basically, if you already have the stuff in the cache, the calculation is invarent to the last calculation, and you have a processor capable of it you'll see a large speed improvement. There is a great talk about this 0 (for the exact moment go to 1). If you're interested further I'd very m…

lkbmon Hacker News • Recommends

On “14,000x Speedup (2015)”

I thought this was going to be "How to Speed up a Python Program 114,000 times"0. It's an hour-long talk, but quite enjoyable. In the example in the talk, it was less about knowing cs algorithms and more about knowing the details of how modern computer architecture works, but the lesson is the same: sometimes the background knowledge of a cs degree is useful. He also has the same point about optimizing our code rather than just adding more and more machines. 0 link to this video

dmoneyon Hacker News • Mentions

On “The Cost of Scalability in Graph Processing”

An example of "scaling in" is this talk, "How to speed up a Python program 114,000 times": link to this video

lmcon Hacker News • Mentions

On “JavaScript Containers”

> I remember I recently saw a lecture by an industry professional who took a Python algorithm and improved it 100 000x, in parts. That is, in stages he explained how to utilize the hardware on that particular machine, to improve the algorithm so much that it was hard to believe. Anyone have a link? I suspect it's this one: link to this video