Commit bd3b9cfd authored by Vincent Pelletier's avatar Vincent Pelletier

Micro optimisation: disable/enable function rather than testing upon call.

git-svn-id: https://svn.erp5.org/repos/neo/trunk@2460 71dcc9de-d417-0410-9af5-da40c76e7ee4
parent 8014adfe
......@@ -41,12 +41,23 @@ def OOBTree():
result = TREE_POOL.pop()
except IndexError:
result = _OOBTree()
# Next btree we prune will have room, restore prune method
global prune
prune = _prune
return result
def prune(tree):
if len(TREE_POOL) < MAX_TREE_POOL_SIZE:
tree.clear()
TREE_POOL.append(tree)
def _prune(tree):
tree.clear()
TREE_POOL.append(tree)
if len(TREE_POOL) >= MAX_TREE_POOL_SIZE:
# Already at/above max pool size, disable ourselve.
global prune
prune = _noPrune
def _noPrune(_):
pass
prune = _prune
class CreationUndone(Exception):
pass
......
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