[Framework-Team] Some preliminary Plone 3.0 profiling results

Alexander Limi limi at plone.org
Tue Nov 14 13:53:11 UTC 2006


Some preliminary results of running a quick PTProfiler session on Plone  
3.0 and trying to figure out what is slowing it down.

I was prompted to do this when I discovered that anonymous view of Plone  
3.0 was about 30% slower than 2.5. Take these numbers as a general guide  
only, it's still early in the 3.0 process, and there's bound to be lots of  
improvement potential here.

ANONYMOUS: 10 loads of front page, in seconds

Template                               Total  Hits Per hit
==========================================================
document_view.pt                       3.9707  10  0.3971
plone_javascript_variables.js.pt       0.0441  10  0.0044
portlet_navtree_macro.pt               0.0899  10  0.009
portlets/browser/templates/column.pt   2.3798  20  0.119
portlets/portlets/classic.pt           2.0051  50  0.0401
portlets/portlets/events.pt            0.0221  10  0.0022
portlets/portlets/login.pt             0.2678  10  0.0268
portlets/portlets/news.pt              0.021   10  0.0021

Breakdown of document_view shows (same order/units as above):
path: plone_view/globalize             0.232   10  0.0232

The rest of the things here use much less time, but there's probably some  
interesting things there too.

It seems the portlets stuff is what is making it slower (more about that  
below), along with globalize.



LOGGED IN: 10 loads of front page, in seconds

Template                               Total  Hits Per hit
==========================================================
contentmenu.pt                         3.476   10  0.3476
document_view.pt                      10.563   10  1.0563
plone_javascript_variables.js.pt      0.0464   10  0.0046
portlet_navtree_macro.pt              0.0934   10  0.0093

portlets/browser/templates/column.pt  3.0892   20  0.1545
portlets/portlets/classic.pt          2.9249   50  0.0585
portlets/portlets/events.pt           0.0211   10  0.0021
portlets/portlets/login.pt            0.005    10  0.0005
portlets/portlets/news.pt             0.0183   10  0.0018

Breakdown of document_view shows (same order/units as above):
path: plone_view/globalize            0.8519s  10  0.08519s
python: [history[i] for i in (…)      0.8055s  10  0.08055s

So for logged-in, "globalize" and the versioning stuff seems to be the two  
biggest offenders by an order of magnitude, and seem to both take about  
the same amount of time.

The portlets also seem to be inefficient both for logged in or not, but a  
lot of this time is spent in classic.pt, which we should be able to  
eliminate (since we should convert all the portlets to new-style portlets  
before shipping the release). I'm not sure if column.pt wraps/includes the  
classic.pt time.

Of course, all this might be wrong, but that's what happens when you let  
the UI guy do your benchmarking. ;)

-- 
_____________________________________________________________________

      Alexander Limi · Chief Architect · Plone Solutions · Norway

  Consulting · Training · Development · http://www.plonesolutions.com
_____________________________________________________________________

       Plone Co-Founder · http://plone.org · Connecting Content
   Plone Foundation · http://plone.org/foundation · Protecting Plone
 





More information about the Framework-Team mailing list