[Branch ~dhis2-devs-core/dhis2/trunk] Rev 4668: Data mart, made the tasks running in parallell more evenly distributed in terms of workload, impr...

revision-diff.txt (2.81 KB)

This is looking cool. good work.

ยทยทยท

On 23 September 2011 23:41, <noreply@launchpad.net> wrote:

------------------------------------------------------------
revno: 4668
committer: Lars Helge Overland <larshelge@gmail.com>
branch nick: dhis2
timestamp: Sat 2011-09-24 00:39:54 +0200
message:
Data mart, made the tasks running in parallell more evenly distributed in terms of workload, improves performance as cpus are utilized better. Overall processing time down 18 %.
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java
dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/engine/DefaultDataMartEngine.java
dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/WeightedPaginatedList.java

--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java 2011-07-01 11:27:12 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java 2011-09-23 22:39:54 +0000
@@ -32,13 +32,14 @@
import java.util.Date;

import org.hisp.dhis.common.AbstractNameableObject;
+import org.hisp.dhis.common.Weighted;

/**
* @author Kristian Nordal
* @version $Id: Period.java 5277 2008-05-27 15:48:42Z larshelg $
*/
public class Period
- extends AbstractNameableObject
+ extends AbstractNameableObject implements Weighted
{
/**
* Determines if a de-serialized file is compatible with this class.
@@ -148,6 +149,12 @@
{
return periodType != null ? periodType.getFrequencyOrder() : YearlyPeriodType.FREQUENCY_ORDER;
}
+
+ @Override
+ public int getWeight()
+ {
+ return frequencyOrder() + 15;
+ }

/\*\*
 \* Formats a Date to the format YYYY\-MM\-DD\.

=== modified file 'dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/engine/DefaultDataMartEngine.java'
--- dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/engine/DefaultDataMartEngine.java 2011-09-23 15:12:19 +0000
+++ dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/engine/DefaultDataMartEngine.java 2011-09-23 22:39:54 +0000
@@ -58,8 +58,8 @@
import org.hisp.dhis.system.util.ConcurrentUtils;
import org.hisp.dhis.system.util.ConversionUtils;
import org.hisp.dhis.system.util.FilterUtils;
-import org.hisp.dhis.system.util.PaginatedList;
import org.hisp.dhis.system.util.SystemUtils;
+import org.hisp.dhis.system.util.WeightedPaginatedList;
import org.springframework.transaction.annotation.Transactional;

/**
@@ -266,7 +266,7 @@

    state\.setMessage\( &quot;exporting\_data\_for\_data\_elements&quot; \);

- List<List<Period>> periodPages = new PaginatedList<Period>( periods ).setNumberOfPages( cpuCores ).getPages();
+ List<List<Period>> periodPages = new WeightedPaginatedList<Period>( periods, cpuCores ).getPages();

    if \( allOperands\.size\(\) &gt; 0 \)
    \{

=== modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/WeightedPaginatedList.java'
--- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/WeightedPaginatedList.java 2011-09-23 19:39:08 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/WeightedPaginatedList.java 2011-09-23 22:39:54 +0000
@@ -64,8 +64,6 @@
}

    weightPageBreak = \(int\) Math\.ceil\( \(double\) totalWeight / pages \);

-
- System.out.println( "tot " + totalWeight + " break " + weightPageBreak );
}

/\*\*

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp