performance issue when sorting a group [message #368353] |
Fri, 22 May 2009 13:27  |
Eclipse User |
|
|
|
We have found that several of our reports take increasingly long to
complete as the data set size increases, but the time is more exponential
than linear. The common attributes of these reports are groups on a table
that have a sort key.
In one of our reports with a data set of 200k rows it will complete in
under 10 minutes without sorting. This time includes rendering the report
to a PDF. However adding a sort key will increase that time to over 18
hours to complete!
While profiling my Java application (with the BIRT engine) we have found
that the majority of the time is spent in
GroupInformationUtil.mergeTwoGroupBoundaryInfoGroups()
I have a very simple test case that I can provide. It includes a flat
file that is used as a datasource and two .rptdesign files, one with a
sort key and one without. In my Eclipse environment, viewing the unsorted
report as a PDF takes approximately 30 seconds. Attempting to view the
sorted report runs indefinitely.
This seems to indicate a performance issue in BIRT with sorting data sets.
Has anyone else experienced similar performance problems?
|
|
|
|
|
|
|
|
|
|
Re: performance issue when sorting a group [message #542677 is a reply to message #542460] |
Fri, 25 June 2010 11:09   |
Eclipse User |
|
|
|
On 6/24/2010 6:22 PM, Ryan wrote:
> It looks like the 2 links you posted are no longer working.
>
> I tried to search around and find the links, but have not yet been able
> to find any.
>
> Could you post a new set of lines on cache configuration?
>
> Ryan
Look at:
http://www.eclipse.org/forums/index.php?t=msg&th=120380& amp;
The cache configuration message I can not locate, but the contents of it
are listed below:
Hello,
Performance have been improved via a combination of memory and disk
cache ( http://www.eclipse.org/birt/phoenix/project/notable2.0.php#j ump_11).
But I can't find how to configure this; for exemple, disable it, use
only memory cache, etc...
Thanks
Nicolas
Nicolas,
You can set the memory cache size by using the following.
task.getAppContext().put("org.eclipse.birt.data.query.ResultBufferSize ",
new Integer(20));
Size is specified in MB.
You should be able to set this for the viewer using:
http://wiki.eclipse.org/Adding_an_Object_to_the_Application_ Context_for_the_Viewer_%28BIRT%29
Jason
Hi Jason,
can you please explain the other constants defined in
org.eclipse.birt.data.engine.api.DataEngine too:
DATA_SET_CACHE_ROW_LIMIT = "org.eclipse.birt.data.cache.RowLimit"
DATA_SET_CACHE_DELTA_FILE = "org.eclipse.birt.data.cache.DeltaFile"
MEMORY_DATA_SET_CACHE = "org.eclipse.birt.data.cache.memory"
How can I use them to improve the performance?
Thanks in advance!
Spunk
I believe the other settings have to do with setting the cache
configuration while in the designer. In 2.2.1 there is suppose to be
a project to improve the caching of datasets between containers.
Jason
Hello (again),
I looked how to use DataEngine.MEMORY_DATA_SET_CACHE, but I can't get it
working.
I can set it to 0 or 10 000, it doesn't seem to change anything.
The logs indicates that the memory cache is always used and it takes
always 0 sec (even on big reports)
That's why I'm wondering if this option is really working...
Also I found in DataEngineContext several constants to configure the
cache (CACHE_MODE_IN_DISK, CACHE_MODE_IN_MEMORY, CACHE_USE_DISABLE), but
I don't know how to use them, how to set a DataEngineContext and set it
to my EngineTask.
Thanks
Nicolas
Nicolas,
What version of BIRT are you using?
Jason
I'm using Birt 2.2.0 (and waiting for the 2.2.1 ... :-)
Nicolas
Nicolas,
I thought this was working properly in 2.2. I do not believe you can
set it below 1 MB. Create a bugzilla entry if you want to get more details.
Jason
Jason
|
|
|
Re: performance issue when sorting a group [message #1785656 is a reply to message #542677] |
Wed, 18 April 2018 01:48  |
Eclipse User |
|
|
|
Hi,
I have Written this Script in the table of OnCreate Time when I Changing the master page in the middle of the report
this.getStyle().pageBreakBefore="AVOID";
this.getStyle().masterPage="Skipped_Line_Image";
this.getStyle().pageBreakAfter="AVOID";
Master Page is Changing after Changing a new empty page is loading how to avoid this page empty page.
Regards,
Naresh.A
|
|
|
Powered by
FUDForum. Page generated in 0.05247 seconds