Commit 34009f6a authored by Hanno Schlichting's avatar Hanno Schlichting

Commit micro-optimization, tuple addition is faster for few elements

parent 9aa6bf88
...@@ -126,11 +126,11 @@ class Traversable: ...@@ -126,11 +126,11 @@ class Traversable:
if id is None: if id is None:
id = self.getId() id = self.getId()
path = (id, )
p = aq_parent(aq_inner(self)) p = aq_parent(aq_inner(self))
if p is None: if p is None:
return (id, ) return path
path = [id]
func = self.getPhysicalPath.im_func func = self.getPhysicalPath.im_func
while p is not None: while p is not None:
if func is p.getPhysicalPath.im_func: if func is p.getPhysicalPath.im_func:
...@@ -142,17 +142,16 @@ class Traversable: ...@@ -142,17 +142,16 @@ class Traversable:
if pid is None: if pid is None:
pid = p.getId() pid = p.getId()
path.insert(0, pid) path = (pid, ) + path
try: try:
p = p.__parent__ p = p.__parent__
except AttributeError: except AttributeError:
p = None p = None
else: else:
if IApplication.providedBy(p): if IApplication.providedBy(p):
path.insert(0, '') path = ('', ) + path
path = tuple(path)
else: else:
path = p.getPhysicalPath() + tuple(path) path = p.getPhysicalPath() + path
break break
return path return path
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment