2008-11-19

Speedup

You can now have your cake and eat it, too.

Plone benchmark comparing Chameleon to ZPT

Disclaimer: Don't try this at home! Or actually, do try it, but only on Plone trunk. Simply pull in the five.pt egg and load its configuration. It's a whole-sale drop-in replacement of Zope Page Templates.

If you're interesting in sponsoring this on-going effort, there's an excellent sponsorship opportunity for the upcoming performance-sprint in Bristol. Please contact me by e-mail at mborch@gmail.com.

Update: CMF-bindings have been split out to the cmf.pt package.

14 comments:

philikon said...

This is great stuff!

I have just one thing to nitpick (and please forgive me, Limi, for stealing your thunder here): I suggest changing the graph so that longer bars are better. In other words, I suggest displaying pages/sec rather than time spend to render a page. If that's too much work, I suggest adding a "Smaller bars are better" caption.

philikon said...

Btw, I love how the edit page renders twice as fast. Plone's editor frontend certainly could be faster.

Jon Stahl said...

Very impressive, Malthe! Go go go!

Are there any features of ZPT you've thrown away? Do you anticipate this working in Plone 3.x at some point?

andymckay said...

Woohoo!

Stupid question - assuming the y-axis is in ms?

malthe said...

These figures are in milliseconds; inverting the figure, we get just above five page-editing requests per second, versus three.

Obviously, this has more impact for template-intensive pages like the authoring interface, but there's a clearly visible performance increase even for anonymous users viewing the front page.

There is still a lot of places to optimize, so we can expect these figures to improve over the next few months.

malthe said...

@jonstahl: No, actually we've been able to implement all of the ZPT features; we did not have to change any Plone code to make this work.

Jon Stahl said...

@malthe: O.M.F.G. that is incredible! astounding! must. get. ready for. production. ASAP! :-)

let us know how we can help!

Anonymous said...

What's the difference between this and z3c.pt?

limi said...

Also, to see interesting speed-ups wrt. editing page, try creating a complex Dexterity type and click the Edit tab. Fast!

malthe said...

@anonymous: five.pt builds on top of z3c.pt (which itself extends chameleon.zpt, providing additional expression types), to allow using this technology on Zope 2, and in particular with the CMF, which is what Plone is build on top of.

Jon Stahl said...

I really encourage you guys to look at whether it is possible to deliver this as an option in the 3.x series. I'd hate to have to wait for Plone 4 if there's any way to get it in 3.x!

malthe said...

@jonstahl: Pending a few commits (see plone-dev ml), we've got Plone 3.2 (SVN) covered as well.

Jon Stahl said...

That is fantastic news!

encolpe said...

It is really a good news !

How goes tests with one hundreds contents in news or in a folder listing ?