How to Speed up a Python Program 114,000 times.
InfoQ3 HN recommenders · recommended in 3 months, 2015-2022
171K views · 13 years ago · talk · evergreen
David Schachter describes how he made a data-collection Python program run 114,000 times faster, drawing on decades of experience. The talk covers pipelining, cache effects and other optimization lessons.
A favorite tech talk on HN for showing that hardware knowledge and generalist skills beat simply adding machines.
2:50:14Simple Code, High Performance
Molly Rocket
463K views • 5 years ago
19:25New computers don't speed up old code
Matthias random stuff
187K views • 1 year ago
47:34RailsConf 2011: Aaron Patterson, "Double Dream Hands: So Intense!"
O'Reilly
26K views • 15 years ago
46:10Understanding the Python GIL
David Beazley
127K views • 14 years ago
28:47Someone improved my code by 40,832,277,770%
Stand-up Maths
3.1M views • 4 years ago
1:00:58CppCon 2017: Chandler Carruth “Going Nowhere Faster”
CppCon
113K views • 9 years ago
40:34Charlie Marsh: uv: An Extremely Fast Python Package Manager
Jane Street
107K views • 2 years ago
1:16:58code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care
NOKIA Technology Center Wrocław
231K views • 11 years ago
1:13:41CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
CppCon
235K views • 12 years ago
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
20K views • 10 years ago
42:44Armin Ronacher - A Python for Future Generations
EuroPython Conference
6K views • 9 years ago
1:21:39Making R run Fast - Jan Vitek
John O'Neill
860 views • 10 years ago
59:21A Crash Course in Modern Hardware by Cliff Click
Devoxx
21K views • 9 years ago
32:07Larry Hastings - Removing Python's GIL: The Gilectomy - PyCon 2016
PyCon 2016
49K views • 10 years ago
27:43Bringing SIMD to the Web via Dart
InfoQ
11K views • 13 years ago
22:41"Clean" Code, Horrible Performance
Molly Rocket
1.2M views • 3 years ago
51:04[EPILEPSY WARNING] How fast should an unoptimized terminal run?
Molly Rocket
193K views • 5 years ago
1:02:17'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]
ACCU Conference
34K views • 10 years ago
1:48:55The Thirty Million Line Problem
Molly Rocket
326K views • 8 years ago
56:23Speed Up Your JavaScript
Google TechTalks
136K views • 17 years ago
5 comments from Hacker News
> 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: ▶ this video
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] ▶ this video
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 much recommend finding some sort of GOOD computer architecture class. Luckily now we have a fantastic resource to locate these such courses [2]. This seems like dark magic and many programmers refuse to come to terms with it's existence. Check out `dreta`'s comment to see an example. Now I do agree with dreta, this is VERY much architecture dependant but most architectures would benifit from this sort of optimization. Pretty much all modern Intel and AMD CPU's caches are large enough, they support a big enough cache, and they also all have pipelines under the hood. Intel started this in the pentium series with a 5-stage-pipeline (which I find very funny due to the GHz wars that came from that time period desipte the pipeline being probably the pargest performance boon in most cases that you
"How to Speed up a Python Program 114,000 times." - ▶ this video Humour, serious technical insight and a good reminder of why being a generalist is an advantage.
An example of "scaling in" is this talk, "How to speed up a Python program 114,000 times": ▶ this video