Does py2app improves speed?
Alan Meyer
ameyer2 at yahoo.com
Mon Nov 28 15:03:13 EST 2011
On 11/24/2011 9:27 AM, Dave Angel wrote:
...
> Several ways to speed up code.
>
> 1) use language features to best advantage
> 2) use 3rd party libraries that do certain things well
> 3) use best algorithms, subject to #1 and #2
> 4) have someone else review the code (perhaps on the list, perhaps
> within your own organization)
> 5) measure (eg. profile it)
> 6) use optimizing tools, such as pypy or Cython.
> 7) rewrite parts of it in another language
> 8) get a faster processor
> 9) rewrite it all in another language
>
> It takes experience to choose between these, and each project is
> different. But even the most experienced developers will frequently
> guess entirely wrong where the bottleneck is, which is why you measure
> if you care.
I agree that measuring (profiling) is the most critical.
As you say, even the most experienced programmers can guess wrong. The
first time I used a profiler a couple of decades ago I was egotistical
enough to wonder how this thing could help me. After all, I wrote the
code. I knew what it did. The profiler wasn't going to tell me
anything I didn't know.
I learned a little humility after reading the profiler output. The
program was spending most of its time in a place that I never dreamed
was a problem, and a 10 minute fix cut run times in half.
In that particular case there wasn't even a design problem, it was just
a procedure call inside a tight loop that executed far more often than I
imagined and could be replaced with a few lines of inline code.
I think the rest of your list is excellent too.
Alan
More information about the Python-list
mailing list