Bug 147101 Report generation performance is sluggish
The overall performance of report generation appears to be quite sluggish. Here are numbers that we have measured using ORACLE as a DB. We use ORACLE 10g w/ojdbc14.jar thin driver. select rownum, datetime_id, another_id, text from ( select max(datetime_id) as datetime_id, another_id, text from some_oracle_schema.sample_table where text < 'c%' group by another_id, text ) Query resulting in 8465 rows Using PL/SQL developer: ----------------------- Execution: approx 1 second Iterating through all rows via PL/SQL developer UI: 10 seconds BIRT: ----- Preview page (via dataset editor): shows all 8465 rows in 53 seconds Preview tab (in the designer): shows all 8465 rows in 79 seconds Generation of rptdocument from rptdesign using API: 55 seconds
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/transform/group/GroupCalculationUtil.java
}
	}
	/**
	 * Sort data rows by group information and sort specification
	 * 
	 * @throws DataException
	 */
	public SortSpec getSortSpec( ) throws DataException
	{
		assert groupDefs != null;
		
		
		int groupCount = 0;
		int sortCount = 0;
		for ( int i = 0; i < groupDefs.length; i++ )
		{
			
			
			if ( groupDefs[i].getColumnIndex( ) >= 0 )
			{
				groupCount++;
			}
		}
		if ( query.getOrdering( ) != null )
		{
			sortCount = query.getOrdering( ).length;
		}
		int[] sortKeyIndexes = new int[groupCount + sortCount];
		String[] sortKeyColumns = new String[groupCount + sortCount];
		boolean[] sortAscending = new boolean[groupCount + sortCount];