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:
parent
234b7e3720
commit
d6d4d60109
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue