Julien Muchembled
2009-01-30 17:52:14 UTC
Hi,
After looking at Zope source code, it seems I was wrong. I mean that the object returned by objectIds() wouldn't be a simple iterator, but would also provide an intelligent __contains__ method.
Can anyone confirm that
new_id in applied_rule.objectIds()
is as fast as
getattr(aq_base(applied_rule), new_id, None) is not None
from a complexity point of view ?
Julien
Author: jerome
Date: Fri Jan 30 18:19:22 2009
New Revision: 25395
URL: http://svn.erp5.org?rev=25395&view=rev
don't use "in objectIds" which is O(n)
Actually, that's what I thought, and I told that to Jerome.Date: Fri Jan 30 18:19:22 2009
New Revision: 25395
URL: http://svn.erp5.org?rev=25395&view=rev
don't use "in objectIds" which is O(n)
After looking at Zope source code, it seems I was wrong. I mean that the object returned by objectIds() wouldn't be a simple iterator, but would also provide an intelligent __contains__ method.
Can anyone confirm that
new_id in applied_rule.objectIds()
is as fast as
getattr(aq_base(applied_rule), new_id, None) is not None
from a complexity point of view ?
Julien
erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py
Modified: erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py?rev=25395&r1=25394&r2=25395&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py [utf8] (original)
+++ erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py [utf8] Fri Jan 30 18:19:22 2009
@@ -54,7 +54,7 @@
split_index = 0
new_id = "%s_split_%s" % (simulation_movement.getId(), split_index)
applied_rule = simulation_movement.getParentValue()
split_index += 1
new_id = "%s_split_%s" % (simulation_movement.getId(), split_index)
# Adopt different dates for deferred movements
_______________________________________________
Erp5-report mailing list
Erp5-report at erp5.org
http://mail.nexedi.com/mailman/listinfo/erp5-report
Modified: erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py?rev=25395&r1=25394&r2=25395&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py [utf8] (original)
+++ erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py [utf8] Fri Jan 30 18:19:22 2009
@@ -54,7 +54,7 @@
split_index = 0
new_id = "%s_split_%s" % (simulation_movement.getId(), split_index)
applied_rule = simulation_movement.getParentValue()
split_index += 1
new_id = "%s_split_%s" % (simulation_movement.getId(), split_index)
# Adopt different dates for deferred movements
_______________________________________________
Erp5-report mailing list
Erp5-report at erp5.org
http://mail.nexedi.com/mailman/listinfo/erp5-report