Re: [Zope] page templates and "python:"
On 7/3/06, Claudio Battaglino <[EMAIL PROTECTED]> wrote: Is it a significant test? Yes, for the use case of in-memory objects and methods. You might want to do the same with a traversal path nocall:context/folder1/folder2/folder3, or something, and then python:context.folder1.folder2.folder3 -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/ ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] page templates and "python:"
Andreas Jung ha scritto: --On 3. Juli 2006 15:38:58 +0200 Claudio Battaglino <[EMAIL PROTECTED]> wrote: Jens Vagelpohl ha scritto: Could it be that, using a Python expression, I have an overhead because Zope loads a Python interpreter each time it finds a "python:"? If this is true then it is better to use path expression, if possible. nahPython expression are executed in a sandbox (RestrictedPython) which will introduce additional overhead..but let numbers speak...write a loop in TAL and compare the performance of path expressions vs. python expressions... don't guess, but measure... -aj It seems that the Python Expression works a bit better: To the test this, I used these two Page Templates and PTProfiler: PATH EXPRESSION PYTHON EXPRESSION PATH EXPRESSION Expression - Total time - Number of calls - Time per call path: test_user/getId 0.7250000.00014 path: test_user/getId 0.6350000.00013 path: test_user/getId 0.7250000.00014 path: test_user/getId 4.0 5 8e-05 path: test_user/getId 4.095 8e-05 path: test_user/getId 4.125 8e-05 PYTHON EXPRESSION Expression - Total time - Number of calls - Time per call python: test_user.getId() 0.6 50000.00012 python: test_user.getId() 0.5150000.0001 python: test_user.getId() 0.4850000.0001 python: test_user.getId() 3.195 6e-05 python: test_user.getId() 3.425 7e-05 python: test_user.getId() 2.965 6e-05 Is it a significant test? claudio :-) ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] page templates and "python:"
On 7/3/06, Chris McDonough <[EMAIL PROTECTED]> wrote: Actually, I think python: expressions perform slightly better than their path: counterparts because their evaluation step needs to do less work (no guessing about getitem vs. getattr). Geoff Davis taught me that. But in the end it's all dwarfed by the penalty imposed by security, so it really doesn't much matter. Right. So the best and quickest is to prepare all the data in pure disk-based python. It's easy to do if you use the view methodology you get with Five, but there are other ways to do it if you don't want to use views. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] page templates and "python:"
Actually, I think python: expressions perform slightly better than their path: counterparts because their evaluation step needs to do less work (no guessing about getitem vs. getattr). Geoff Davis taught me that. But in the end it's all dwarfed by the penalty imposed by security, so it really doesn't much matter. On Jul 3, 2006, at 9:20 AM, Jens Vagelpohl wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3 Jul 2006, at 15:09, Andreas Jung wrote: ...metal:block> ... The main difference between both variants is that in path expressions getValue can be either an attribute or a method...so at least path expressions may have some overhead...you have to measure it. As far as I know path expressions have better performance. I don't have the in-depth expression engine knowledge to explain why, but that's been what everyone has said to me before. jens -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) iD8DBQFEqRmaRAx5nvEhZLIRAhsIAJsHRlq94iq7c0wbeGN92JhlikUFwgCfaClc b16sWokKTRVrWo4BtvRGVhg= =tt4I -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists -http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev ) ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] page templates and "python:"
--On 3. Juli 2006 15:38:58 +0200 Claudio Battaglino <[EMAIL PROTECTED]> wrote: Jens Vagelpohl ha scritto: Could it be that, using a Python expression, I have an overhead because Zope loads a Python interpreter each time it finds a "python:"? If this is true then it is better to use path expression, if possible. nahPython expression are executed in a sandbox (RestrictedPython) which will introduce additional overhead..but let numbers speak...write a loop in TAL and compare the performance of path expressions vs. python expressions... don't guess, but measure... -aj pgpZL6GLQNSgL.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] page templates and "python:"
Jens Vagelpohl ha scritto: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3 Jul 2006, at 15:09, Andreas Jung wrote: ...metal:block> ... The main difference between both variants is that in path expressions getValue can be either an attribute or a method...so at least path expressions may have some overhead...you have to measure it. As far as I know path expressions have better performance. I don't have the in-depth expression engine knowledge to explain why, but that's been what everyone has said to me before. jens Could it be that, using a Python expression, I have an overhead because Zope loads a Python interpreter each time it finds a "python:"? If this is true then it is better to use path expression, if possible. claudio :-) ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] page templates and "python:"
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3 Jul 2006, at 15:09, Andreas Jung wrote: ...metal:block> ... The main difference between both variants is that in path expressions getValue can be either an attribute or a method...so at least path expressions may have some overhead...you have to measure it. As far as I know path expressions have better performance. I don't have the in-depth expression engine knowledge to explain why, but that's been what everyone has said to me before. jens -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) iD8DBQFEqRmaRAx5nvEhZLIRAhsIAJsHRlq94iq7c0wbeGN92JhlikUFwgCfaClc b16sWokKTRVrWo4BtvRGVhg= =tt4I -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] page templates and "python:"
--On 3. Juli 2006 15:05:36 +0200 Claudio Battaglino <[EMAIL PROTECTED]> wrote: Hi, what does exactly happen when I use "python:" into a zpt? Is it a problem if I have many "python:" in my page templates? What are the differences in performances of these two definitions? Talking of performance...you might write a benchmark to figure it out... no idea ... ... The main difference between both variants is that in path expressions getValue can be either an attribute or a method...so at least path expressions may have some overhead...you have to measure it. -aj pgp2Bb8wDjS0s.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )