Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0033606 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Openbravo ERP] A. Platform | minor | have not tried | 2016-08-02 18:30 | 2016-12-16 18:39 | |||
Reporter | shuehner | View Status | public | |||||
Assigned To | NaroaIriarte | |||||||
Priority | high | Resolution | fixed | Fixed in Version | 3.0PR17Q1 | |||
Status | closed | Fix in branch | Fixed in SCM revision | 1f58fdc92474 | ||||
Projection | none | ETA | none | Target Version | 3.0PR17Q1 | |||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Merge Request Status | ||||||||
Review Assigned To | alostale | |||||||
OBNetwork customer | No | |||||||
Web browser | ||||||||
Modules | Core | |||||||
Support ticket | ||||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0033606: speedup Preferences.getAllPreferences by improving getPreferenceFromList functions to do early return | |||||||
Description | That function does a manually coded complicate list search. However most entries in that list will be for different properties and not just different in visibility. So doing early check & return of the properties part in the comparison can save some cpu cycles. On testing with bigger db that shaves of 50-60ms of all runtime on getAllPreferences. From around 120ms (of the loop in getAllPreferences) downto 60ms Note using a Map here instead of list with a key matching the open coded list search could give another speedup | |||||||
Steps To Reproduce | - | |||||||
Tags | Performance | |||||||
Attached Files | ![]() | |||||||
![]() |
|
![]() |
|
(0092157) hgbot (developer) 2016-12-07 09:24 |
Repository: erp/devel/pi Changeset: 1f58fdc924744f4b1b3ae4d06365a88406f77890 Author: Naroa Iriarte <naroa.iriarte <at> openbravo.com> Date: Mon Dec 05 15:36:48 2016 +0100 URL: http://code.openbravo.com/erp/devel/pi/rev/1f58fdc924744f4b1b3ae4d06365a88406f77890 [^] Fixed issue 33606: The Preferences.getPreferenceFromList improved. A continue has been added to do an early return in a for loop of the Preferences.getPreferenceFromList method. Putting this code there prevents a lot of executions needed to get the "winVisibilityNotDefined" and the "sameWinVisibility" variables. The "isCurrentPreference" variable needs to be true to make this piece of code true: "if (isCurrentPreference && (winVisbilityNotDefined || sameWinVisibility)) {" and to return the listPref value. So, if the "isCurrentPreference" is false, it doesn't matter the values of the "winVisibilityNotDefined" nor "sameWinVisibility" values. That is why is a good idea to put the early return. In this way a lot of executions to get the variables will be avoided. --- M src/org/openbravo/erpCommon/businessUtility/Preferences.java --- |
(0092308) alostale (viewer) 2016-12-13 11:22 |
code reviewed tested: * speed is improved accordingly to what was expected * the preferences returned are the same as before the fix |
(0092691) hudsonbot (viewer) 2016-12-16 18:39 |
A changeset related to this issue has been promoted main and to the Central Repository, after passing a series of tests. Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/dc8bf00badd0 [^] Maturity status: Test |
![]() |
|||
Date Modified | Username | Field | Change |
2016-08-02 18:30 | shuehner | New Issue | |
2016-08-02 18:30 | shuehner | Assigned To | => platform |
2016-08-02 18:30 | shuehner | OBNetwork customer | => No |
2016-08-02 18:30 | shuehner | Modules | => Core |
2016-08-02 18:30 | shuehner | Triggers an Emergency Pack | => No |
2016-08-02 18:30 | shuehner | Tag Attached: Performance | |
2016-08-02 18:30 | shuehner | File Added: 33606_prototype.diff | |
2016-09-29 09:10 | alostale | Status | new => acknowledged |
2016-09-29 09:10 | alostale | Target Version | => 3.0PR17Q1 |
2016-12-01 14:05 | alostale | Priority | normal => urgent |
2016-12-01 14:05 | alostale | Priority | urgent => high |
2016-12-05 12:48 | NaroaIriarte | Assigned To | platform => NaroaIriarte |
2016-12-05 14:58 | NaroaIriarte | Status | acknowledged => scheduled |
2016-12-07 09:24 | hgbot | Checkin | |
2016-12-07 09:24 | hgbot | Note Added: 0092157 | |
2016-12-07 09:24 | hgbot | Status | scheduled => resolved |
2016-12-07 09:24 | hgbot | Resolution | open => fixed |
2016-12-07 09:24 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/devel/pi/rev/1f58fdc924744f4b1b3ae4d06365a88406f77890 [^] |
2016-12-07 09:26 | NaroaIriarte | Review Assigned To | => alostale |
2016-12-13 11:22 | alostale | Note Added: 0092308 | |
2016-12-13 11:22 | alostale | Status | resolved => closed |
2016-12-13 11:22 | alostale | Fixed in Version | => 3.0PR17Q1 |
2016-12-16 18:39 | hudsonbot | Checkin | |
2016-12-16 18:39 | hudsonbot | Note Added: 0092691 |
Copyright © 2000 - 2009 MantisBT Group |