[PATCH] Remove unnecessary dir()/set() calls in Template.__init__()
R. Tyler Ballance <[email protected]> Mon, 12 Oct 2009 23:53:58 -0700
| Newsgroups | gmane.comp.python.cheetah |
|---|---|
| Message-ID | <20091013065358.GC9649@banana> |
When running cheetah.Tests.Performance.DynamicMethodCompilationTest
with 100000 iterations set, Template.__init__() is the most performance
sensitive call.
Prior to this commit:
ncalls tottime percall cumtime percall filename:lineno(function)
100000 12.558 0.000 15.274 0.000 Template.py:1025(__init__)
After this commit:
ncalls tottime percall cumtime percall filename:lineno(function)
100000 1.263 0.000 3.541 0.000 Template.py:1025(__init__)
That code need not execute every time __init__ is called
---
cheetah/Template.py | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/cheetah/Template.py b/cheetah/Template.py
index 01cf676..c903460 100644
--- a/cheetah/Template.py
+++ b/cheetah/Template.py
@@ -1213,11 +1213,10 @@ class Template(Servlet):
##################################################
## Setup instance state attributes used during the life of template
## post-compile
- reserved_searchlist = dir(self)
if searchList:
for namespace in searchList:
if isinstance(namespace, dict):
- intersection = set(reserved_searchlist) & set(namespace.keys())
+ intersection = Reserved_SearchList & set(namespace.keys())
warn = False
if intersection:
warn = True
@@ -1832,7 +1831,7 @@ class Template(Servlet):
return dic
T = Template # Short and sweet for debugging at the >>> prompt.
-
+Reserved_SearchList = set(dir(Template))
def genParserErrorFromPythonException(source, file, generatedPyCode, exception):
--
1.6.5
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Cheetahtemplate-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss
signature.asc
(application/pgp-signature, 197 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkrUJAYACgkQFCbH3D9R4W8vNgCfYa9ZNml76I7NTcj6ZZVz2SID E7UAn3hxXBCENxnlPSbG7407soYV5z/Z =pO1R -----END PGP SIGNATURE-----