← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-commiter/openobject-addons/trunk-dev-addons3-psi2 into lp:~openerp-dev/openobject-addons/trunk-dev-addons3

 

psi (OpenERP) has proposed merging lp:~openerp-commiter/openobject-addons/trunk-dev-addons3-psi2 into lp:~openerp-dev/openobject-addons/trunk-dev-addons3.

Requested reviews:
  OpenERP R&D Team (openerp-dev)
Related bugs:
  #568537 The __compute method of account_account needs optmization to improve Accounting Performance!
  https://bugs.launchpad.net/bugs/568537


Hello sir,

Here i am proposing optimized code of __compute method to imporve Accounting Performance.

Thanks
PSI
-- 
https://code.launchpad.net/~openerp-commiter/openobject-addons/trunk-dev-addons3-psi2/+merge/43603
Your team OpenERP R&D Team is requested to review the proposed merge of lp:~openerp-commiter/openobject-addons/trunk-dev-addons3-psi2 into lp:~openerp-dev/openobject-addons/trunk-dev-addons3.
=== modified file 'account/account.py'
--- account/account.py	2010-12-13 20:50:54 +0000
+++ account/account.py	2010-12-14 05:13:59 +0000
@@ -289,20 +289,20 @@
             sums = {}
             while brs:
                 current = brs[0]
-                can_compute = True
-                for child in current.child_id:
-                    if child.id not in sums:
-                        can_compute = False
-                        try:
-                            brs.insert(0, brs.pop(brs.index(child)))
-                        except ValueError:
-                            brs.insert(0, child)
-                if can_compute:
-                    brs.pop(0)
-                    for fn in field_names:
-                        sums.setdefault(current.id, {})[fn] = accounts.get(current.id, {}).get(fn, 0.0)
-                        if current.child_id:
-                            sums[current.id][fn] += sum(sums[child.id][fn] for child in current.child_id)
+#                can_compute = True
+#                for child in current.child_id:
+#                    if child.id not in sums:
+#                        can_compute = False
+#                        try:
+#                            brs.insert(0, brs.pop(brs.index(child)))
+#                        except ValueError:
+#                            brs.insert(0, child)
+#                if can_compute:
+                brs.pop(0)
+                for fn in field_names:
+                    sums.setdefault(current.id, {})[fn] = accounts.get(current.id, {}).get(fn, 0.0)
+                    if current.child_id:
+                        sums[current.id][fn] += sum(sums[child.id][fn] for child in current.child_id)
             res = {}
             null_result = dict((fn, 0.0) for fn in field_names)
             for id in ids:


Follow ups