The biggest bottleneck for me has always been SQL (queries on large tables
without adequate indexes, or unnecessary repetition of queries when a single
query would suffice, etc).
All of my SQL goes through a few wrapper methods, so in the past I've done
some simple profiling by adding timing code to the wrappers so I could find
out how long each query took and which queries were being run. I just
printed the information to stdout so it would show up in the logfile.
At the last Python conference one of the presenters was demonstrating a web
application (not a Webware app) where you could turn on a SQL debugging mode
and every web page would have the set of SQL queries that were executed and
the amount of time each query took embedded in a nicely formatted HTML table
at the top of the page. I thought that was a great idea and maybe some day
I'll implement something similar for Webware.
I've never felt the need to speed up anything besides SQL so I can't really
offer any advice there.
> -----Original Message-----
> From: Ian Bicking [mailto:ianb@...]
> Sent: Saturday, June 22, 2002 3:22 AM
> To: Edmund Lian
> Cc: webware-discuss@...
> Subject: Re: [Webware-discuss] Profiling
> On Fri, 2002-06-21 at 23:45, Edmund Lian wrote:
> > I looked at profile, but this seems to require a standalone
> Python app, not
> > one that is running within Webware. The only crude thing I
> can think of is
> > to just output clock times at different points so that I
> can eventually
> > isolate the slow bit. Is there a better way?
> No one has done anything in particular that I know of.
> I wonder that it might be possible to run the profiler for the
> awake/respond/sleep cycle. Like maybe in
> Application.handleGoodURL. If
> you are the only one accessing the site, you can avoid most
> issues (good enough just for profiling).
> Sponsored by:
> ThinkGeek at http://www.ThinkGeek.com/
> Webware-discuss mailing list