[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-21 Thread Hanno Schlichting
Hi again.

Martin Aspeli wrote:
> Hanno Schlichting wrote:
> 
>> Just as a small update. I did some changes to the way the date/time
>> formatting works and some more optimizations in PTS and
>> PloneTranslations. You should remove all the catalogs in the PTS Control
>> Panel once, to get the whole performance gain.
>>
>> While I have some more ideas, how to speed up some of the code in PTS,
>> my current simple benchmark number is now at 5.7 requests/sec :)

I worked a bit on my ideas on how to make PTS even faster and this
resulted amongst other things in using the memoize_contextless decorator
from plone.memoize.view for some functions in PTS. While I had to trick
a bit as the PTS object is of course not a view, but an
Acquisition-wrapped object, it was pretty simple in the end. Especially
as there already has been quite some caching code that stored things in
the request.

> /me cheers Hanno's dedication
> 
> We need to paint a go-faster stripe on it. That'll speed it up!
> 
> Martin, going for 6 requests/second (w00t, speed of thought!)

While we have seen some performance decrease by the merges of some
recent bundles, I have been able to make Martin's dream come true
nonetheless and we are now at 6.2 requests/sec :)

Hanno,
who still has some more ideas about how to speed things up ;)


___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team


[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-09 Thread Alexander Limi
On Thu, 07 Dec 2006 15:18:08 -0800, Hanno Schlichting  
<[EMAIL PROTECTED]> wrote:


Could you re-run your test suite, to give us some updated in-depth  
numbers?


Sure. Here goes, with the previous results quoted:

Anonymous, 10 page load of front page:


TemplateTotal  Hits Per hit
===
document_view.pt3.4215  10  0.3422
plone_javascript_variables.js.pt0.0433  10  0.0043
portlets/browser/templates/column.pt1.5769  20  0.0788
portlets/portlets/classic.pt1.0014  40  0.025
portlets/portlets/events.pt 0.0221  10  0.0022
portlets/portlets/login.pt  0.256   10  0.0256
portlets/portlets/navigation.pt 0.2107  10  0.0211
portlets/portlets/navigation_recurse.pt 0.0625  10  0.0062
portlets/portlets/news.pt   0.0208  10  0.0021


TemplateTotal  Hits Per hit
===
document_view.pt2.3318  10  0.2332
plone_javascript_variables.js.pt0.0362  10  0.0036
portlets/browser/templates/column.pt0.8706  20  0.0435
portlets/portlets/calendar.pt   0.4542  10  0.0454
portlets/portlets/events.pt 0.0216  10  0.0022
portlets/portlets/login.pt  0.1135  10  0.0114
portlets/portlets/navigation.pt 0.1927  10  0.0193
portlets/portlets/navigation_recurse.pt 0.0622  10  0.0062
portlets/portlets/news.pt   0.0202  10  0.002
portlets/portlets/recent.pt 0.0044  10  0.0004
portlets/portlets/review.pt 0.0043  10  0.0004

A very nice improvement. The main view is 1 second faster, the column.pt  
is twice as fast. Classic is gone. :)


Breakdown of document_view shows (same order/units as above):

path: plone_view/globalize   0.232   10  0.0232

path: plone_view/globalize  0.4314  10  0.04314


path: plone_view/globalize  0.3136  10  0.03136

Seems to have speeded up globalize a bit too, but still slower than my  
initial benchmark (although I think it does more now).


Logged in, 10 page load of the front page:


TemplateTotal  Hits Per hit
===
contentmenu.pt  3.2258  10  0.3226
document_view.pt7.0318  10  0.7032
plone_javascript_variables.js.pt0.0455  10  0.0046
portlets/browser/templates/column.pt1.7239  20  0.0862
portlets/portlets/classic.pt1.3606  40  0.034
portlets/portlets/events.pt 0.0203  10  0.002
portlets/portlets/login.pt  0.0047  10  0.0005
portlets/portlets/navigation.pt 0.1999  10  0.02
portlets/portlets/navigation_recurse.pt 0.0619  10  0.0062
portlets/portlets/news.pt   0.0184  10  0.0018


TemplateTotal  Hits Per hit
===
document_view.pt6.4243  10  0.6424
plone_javascript_variables.js.pt0.0379  10  0.0038
contentmenu.pt  3.0057  10  0.3006
portlets/browser/templates/column.pt1.0863  20  0.0543
portlets/portlets/calendar.pt   0.4532  10  0.0453
portlets/portlets/events.pt 0.0206  10  0.0021
portlets/portlets/login.pt  0.0051  10  0.0005
portlets/portlets/navigation.pt 0.1941  10  0.0194
portlets/portlets/navigation_recurse.pt 0.0622  10  0.0062
portlets/portlets/news.pt   0.0187  10  0.0019
portlets/portlets/recent.pt 0.1997  10  0.02
portlets/portlets/review.pt 0.0918  10  0.0092

Again, about a half of the time in column.pt, a small reduction in  
document_view, and no classic.pt. :)



Breakdown of document_view shows (same order/units as above):
path: plone_view/globalize   0.8519s  10  0.08519s

path: plone_view/globalize   0.3627   10  0.03627


path: plone_view/globalize  0.4064  10  0.04064

About the same as before.

I guess the next step is to move all the versioning and publishing history  
to a separate tab, combine them into the same overview, and rename the tab  
from Versions to History. Then we'll have a better impression of what the  
logged-in view cost is. :)


(And again, note that I'm not benchmarking requests per second — I'm just  
locating the most expensive methods to see if we can improve them)


--
_

 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



___
Framework-Team mailing list
Framework-T

[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-08 Thread Martin Aspeli

Hanno Schlichting wrote:


Just as a small update. I did some changes to the way the date/time
formatting works and some more optimizations in PTS and
PloneTranslations. You should remove all the catalogs in the PTS Control
Panel once, to get the whole performance gain.

While I have some more ideas, how to speed up some of the code in PTS,
my current simple benchmark number is now at 5.7 requests/sec :)


/me cheers Hanno's dedication

We need to paint a go-faster stripe on it. That'll speed it up!

Martin, going for 6 requests/second (w00t, speed of thought!)


___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team


[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-08 Thread Hanno Schlichting
Hi all.

Hanno Schlichting wrote:
> Martin Aspeli wrote:
>> Hanno Schlichting wrote:
>>> My simple benchmark shows a boost in performance from 4.0 requests/sec
>>> to 5.2 requests/sec for a newly created site, which is now finally a tad
>>> bit faster then the Plone 2.5 branch.
>> Wasn't it 6 requests/sec before?
> 
> Yes, but that was as I removed the recent, review and most importantly
> calendar portlets altogether. The calendar portlet is still quite
> resource intense, even if there's nothing to show.
> 
> Once I remove the calendar portlet now, I get about 6.2 requests/sec.
> The recent and review portlets don't make any noticeable difference.

Just as a small update. I did some changes to the way the date/time
formatting works and some more optimizations in PTS and
PloneTranslations. You should remove all the catalogs in the PTS Control
Panel once, to get the whole performance gain.

While I have some more ideas, how to speed up some of the code in PTS,
my current simple benchmark number is now at 5.7 requests/sec :)

Hanno


___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team


[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-07 Thread Hanno Schlichting
Martin Aspeli wrote:
> Hanno Schlichting wrote:
>> My simple benchmark shows a boost in performance from 4.0 requests/sec
>> to 5.2 requests/sec for a newly created site, which is now finally a tad
>> bit faster then the Plone 2.5 branch.
> 
> Wasn't it 6 requests/sec before?

Yes, but that was as I removed the recent, review and most importantly
calendar portlets altogether. The calendar portlet is still quite
resource intense, even if there's nothing to show.

Once I remove the calendar portlet now, I get about 6.2 requests/sec.
The recent and review portlets don't make any noticeable difference.

Hanno

P.S. In Plone < 3.0 the calendar portlet usually cost about 1 to 1.5
requests/sec, so it's bad but better now ;)


___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team


[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-07 Thread Martin Aspeli

Hanno Schlichting wrote:

Alexander Limi wrote:

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.

Not sure how many portlets are still "classic", I saw that Hanno was
working on the calendar portlet.


And while I was on it, I converted the last remaining classic portlets
as well, so the calls to classic.pt are gone now.


Great Hanno, thank you very much!


My simple benchmark shows a boost in performance from 4.0 requests/sec
to 5.2 requests/sec for a newly created site, which is now finally a tad
bit faster then the Plone 2.5 branch.


Wasn't it 6 requests/sec before?


Could you re-run your test suite, to give us some updated in-depth numbers?


Please do, limi!

Martin


___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team


[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-07 Thread Hanno Schlichting
Alexander Limi wrote:
>> 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.
> 
> Not sure how many portlets are still "classic", I saw that Hanno was
> working on the calendar portlet.

And while I was on it, I converted the last remaining classic portlets
as well, so the calls to classic.pt are gone now.

My simple benchmark shows a boost in performance from 4.0 requests/sec
to 5.2 requests/sec for a newly created site, which is now finally a tad
bit faster then the Plone 2.5 branch.

Could you re-run your test suite, to give us some updated in-depth numbers?

Hanno


___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team


[Framework-Team] Re: Revisited: Some preliminary Plone 3.0 profiling results

2006-12-05 Thread Martin Aspeli

Alexander Limi wrote:


ANONYMOUS: 10 loads of front page, in seconds

Template   Total  Hits Per hit
==

...

portlets/portlets/login.pt 0.2678  10  0.0268

...


portlets/portlets/login.pt  0.256   10  0.0256


This had a call to listFilteredActionsFor() again. Can you re-run the 
tests for equal comparison's sake?



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


path: plone_view/globalize  0.4314  10  0.04314

Slower? Strange indeed. Does it do more than it used to for anonymous? 
See below, it's faster for logged-in than it used to be.


I still can't figure out why this may be. Can you confirm it's still the 
case?


Martin


___
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team