Andreas Jung ha scritto:
--On 3. Juli 2006 15:38:58 +0200 Claudio Battaglino <c.battaglino@metaware.it> 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.
nah....Python 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 <div tal:define="test_user here/portal_membership/getAuthenticatedMember" tal:repeat="counter python:range(5000)"> <span tal:content="test_user/getId" /> </div> PYTHON EXPRESSION <div tal:define="test_user here/portal_membership/getAuthenticatedMember" tal:repeat="counter python:range(5000)"> <span tal:content="python: test_user.getId()" /> </div> PATH EXPRESSION Expression - Total time - Number of calls - Time per call path: test_user/getId 0.72 5000 0.00014 path: test_user/getId 0.63 5000 0.00013 path: test_user/getId 0.72 5000 0.00014 path: test_user/getId 4.0 50000 8e-05 path: test_user/getId 4.09 50000 8e-05 path: test_user/getId 4.12 50000 8e-05 PYTHON EXPRESSION Expression - Total time - Number of calls - Time per call python: test_user.getId() 0.6 5000 0.00012 python: test_user.getId() 0.51 5000 0.0001 python: test_user.getId() 0.48 5000 0.0001 python: test_user.getId() 3.19 50000 6e-05 python: test_user.getId() 3.42 50000 7e-05 python: test_user.getId() 2.96 50000 6e-05 Is it a significant test? claudio :-)