[Erp5-report] r36583 nicolas.dumazet - /erp5/trunk/products/ERP5/Document/BusinessPath.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Jun 25 12:16:51 CEST 2010
Author: nicolas.dumazet
Date: Fri Jun 25 12:16:45 2010
New Revision: 36583
URL: http://svn.erp5.org?rev=36583&view=rev
Log:
revert changes to fallback to a naive and slow but safe implementation of isBuildable
This commit alone represents a performance drop by 300% (3 times slower),
and is kept only to track changes.
The next 5 commits will improve performance, leading to an
overall 500% improvement (5 times faster than before this commit)
Modified:
erp5/trunk/products/ERP5/Document/BusinessPath.py
Modified: erp5/trunk/products/ERP5/Document/BusinessPath.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessPath.py?rev=36583&r1=36582&r2=36583&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessPath.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessPath.py [utf8] Fri Jun 25 12:16:45 2010
@@ -382,17 +382,20 @@ class BusinessPath(Path, Predicate):
delivery_uid=[x.getUid() for x in explanation.getMovementList()])
for simulation_movement in delivery_simulation_movement_list:
- applied_rule = simulation_movement.getRootAppliedRule().getPath()
+ applied_rule = simulation_movement.getRootAppliedRule()
root_applied_rule_set.add(applied_rule)
- simulation_movement_list = portal_catalog(
- portal_type='Simulation Movement', causality_uid=self.getUid(),
- path=['%s/%%' % x for x in root_applied_rule_set])
+ simulation_movement_list = []
+ for applied_rule in root_applied_rule_set:
+ simulation_movement_list.extend(self._recurseGetValueList(
+ applied_rule, 'Simulation Movement'))
- return [simulation_movement.getObject() for simulation_movement
+ self_url = self.getRelativeUrl()
+ return [simulation_movement for simulation_movement
in simulation_movement_list
# related with explanation
- if self._isDeliverySimulationMovementRelated(
+ if simulation_movement.getCausality() == self_url and \
+ self._isDeliverySimulationMovementRelated(
simulation_movement, delivery_simulation_movement_list)]
def getExpectedQuantity(self, explanation, *args, **kwargs):
More information about the Erp5-report
mailing list