Hi I remember reading a blog post someone posted here a year or two ago, about someone profiling his python code and rewriting it to be a lot faster. It had a lot of details of what was done and the reasoning behind it. Does anyone happen to know what it was?
I use pinboard to bookmark anything that I think has the slightest chance that I'll want to see it again. Most of the time I never look at a bookmark again, because you usually don't know what you'll need in the future. But I've found enough things like what you're looking for (but not this time obviously) that the practice has become worthwhile.
I usually turn garbage collection off, and then explicitly call it just in places where I need to free up memory. I get a modest 5-10% speed boost from that alone.
Another trick is to look at your innermost loops, and make sure you aren't doing accessing anything fancier than a variable.
Example
Bad:
for i in onemillionthings:
for j in onemillionotherthings:
print SomeClass.otherthing.A
Better:
tempvar=SomeClass.otherthing.A
for i in onemillionthings:
for j in onemillionotherthings:
print tempvar
It isn't the ones listed so far. I vaguely remember it talking about choices like loops, comprehensions, data types etc. and eventually his code became about 8-10 times faster.
I will continue to search and will post back here once I find it. Thanks for everyone's help.
From here: https://hn.algolia.com/?q=python+profile#!/story/forever/0/p...
I use pinboard to bookmark anything that I think has the slightest chance that I'll want to see it again. Most of the time I never look at a bookmark again, because you usually don't know what you'll need in the future. But I've found enough things like what you're looking for (but not this time obviously) that the practice has become worthwhile.
https://pinboard.in/