Made a tiny performance improvement in the template system's Parser.parse() -- don't look up the global variables TOKEN_TEXT, etc.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17400 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2012-01-28 01:50:14 +00:00
parent 234b7e3720
commit d6d4d60109
1 changed files with 4 additions and 3 deletions

View File

@ -237,15 +237,16 @@ class Parser(object):
nodelist = self.create_nodelist() nodelist = self.create_nodelist()
while self.tokens: while self.tokens:
token = self.next_token() token = self.next_token()
if token.token_type == TOKEN_TEXT: # Use the raw values here for TOKEN_* for a tiny performance boost.
if token.token_type == 0: # TOKEN_TEXT
self.extend_nodelist(nodelist, TextNode(token.contents), token) self.extend_nodelist(nodelist, TextNode(token.contents), token)
elif token.token_type == TOKEN_VAR: elif token.token_type == 1: # TOKEN_VAR
if not token.contents: if not token.contents:
self.empty_variable(token) self.empty_variable(token)
filter_expression = self.compile_filter(token.contents) filter_expression = self.compile_filter(token.contents)
var_node = self.create_variable_node(filter_expression) var_node = self.create_variable_node(filter_expression)
self.extend_nodelist(nodelist, var_node, token) self.extend_nodelist(nodelist, var_node, token)
elif token.token_type == TOKEN_BLOCK: elif token.token_type == 2: # TOKEN_BLOCK
try: try:
command = token.contents.split()[0] command = token.contents.split()[0]
except IndexError: except IndexError: