On Sat, 27 Oct 2012 20:38:58 -0700 "Gregory P. Smith" email@example.com wrote:
One word: profile.
Looking at stat counts alone rather than measuring the total time spent in all types of system calls from strace and profiling is not really useful. ;)
Agreed, but I can't seem to cope properly with gprof. Any suggestion?
Another thing to keep an eye out for within a startup profile: how often does the gc collect? our default gc collection thresholds haven't been tuned in ages afaik [or am i forgetting something] and I know of pathological cases at work where simply doing a gc.disable() before importing a bunch of modules (tons of generated protocol buffer code) and re-enabling it afterwards speeds up this application's startup way more significantly than seems healthy in 2.x... that could be related to the particulars of the protobuf module code though.
That's a good suggestion indeed.