*standard profile results

  >>> import hotshot, pstats
  >>> p = hotshot.Profile().runcall(main) 
  >>> pstats.Stats(p).sort_stats('time').print_stats()

         58666 function calls (56532 primitive calls) in 0.980 CPU seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.240    0.240    0.240    0.240 :0(create)
      472    0.220    0.000    0.220    0.000 :0(call)
     1696    0.050    0.000    0.050    0.000 sre_parse.py:182(__next)
     6022    0.030    0.000    0.030    0.000 :0(append)
   181/27    0.030    0.000    0.060    0.002 sre_compile.py:27(_compile)
      216    0.020    0.000    0.030    0.000 interface.py:850(fromFunction)
       26    0.020    0.001    0.020    0.001 advice.py:69(addClassAdvisor)
       23    0.020    0.001    0.220    0.010 netconnect:125(__init__)
 1381/201    0.020    0.000    0.040    0.000 ro.py:58(_flatten)
        1    0.020    0.020    0.980    0.980 netconnect:23(?)
        1    0.020    0.020    0.020    0.020 Tkinter.py:31(?)
        1    0.010    0.010    0.010    0.010 urllib.py:1086(quote)
     2590    0.010    0.000    0.010    0.000 :0(get)
        1    0.010    0.010    0.010    0.010 compat.py:115(Connection)
        1    0.010    0.010    0.010    0.010 tksupport.py:24(?)

*displaying as html
 Other web graphs: /home/drewp/projects/ffg-dash/test/sparqlBench.py

 % ./pstats2web /tmp/pro -o out.html

*displaying with kcachegrind
 Ubuntu packages: kcachegrind-convertors, kcachegrind

 % hotshot2calltree /tmp/pro > calltree
 % kcachegrind calltree

 see callee map of the 'parseTerm' function

*displaying with exhibit
 Check out exhibit at http://simile.mit.edu/exhibit/

 % ./pstats2web /tmp/pro -j out.js -m 60

 View profileResults.html in a browser, which reads out.js from the
 same directory.

*still looking for
- statistical profiler to leave running all the time

- at least a faster reporter (lsprof?)

- something to charge twisted deferred callbacks to their creator
   function instead of to the eventloop

- more useful filter groups in exhibit. callees? file is involved in
   top 10?
