Jump to content

performance issue jasperreports 1.3.0


thomasbrzoza

Recommended Posts

For reporting purposes we use JasperReports 1.2.7 in our application. After an actualisation of JasperReports from 1.2.7 to the version 1.3.0 our technical test has observed some heavy performance losses during the load tests. The technical test team ascertained a massive extent of utilisation of the application servers CPUs. A more precise investigation showed that with running load tests constantly a full garbage collection was carried out.

After we have steped back to JasperReports version 1.2.7, we could not observe any performance problems any more. So we suppose that our performance problem roots in actualisation to JasperReports version 1.3.0.

 

Have already been similar problems reported to you concerning JasperReports 1.3.0.?

 

Which basic differences are there between JasperReports 1.2.7 and 1.3.0?

Link to comment
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

Hi Teodor,

 

the only image we are using in our reports is a very small image (3KB) in the report-header. Don't think, that the image causes this described performance problems.

 

We have know extended the investigation of the cause for this problem. I'll let you know when we have some more precise results.

 

Thanks much, kind regards,

 

Thomas

Link to comment
Share on other sites

  • 2 weeks later...

Hello Teodor.

You were right. Our performance problem is really caused by the application of pictures. But there no image loading improvements. We use an external library to generate an aztec-barcode. Than we include the barcode into a JasperReport.

 

We compared jasperreports' source code (1.2.7 & 1.3.0 ) and found a difference in the class JRImageLoader. Up to version 1.2.8 or 1.2.9 you have used the

JPEGImageEncoder to encode images. Since the version 1.3.0 you use the JRJdk14ImageEncoder. Why? :)

 

The problem are the memory leaks in Sun’s ImageIO JPEG libraries in J2SE 1.4. This memory leaks are fixed since J2SE 1.5.Please see the thread on:

http://www.nearinfinity.com/blogs/page/jclark?entry=thumbnail_generation_gotchas

 

We are know using J2SE1.4.2_05 and at this moment we have no options to upgrade to J2SE1.5.

 

My question is relatively easy: Will there be a new version to guarantee the down compatibility in that the problem will be repaired? Maybe one can make this configureable?

 

Thanks,

Kind Regards,

Thomas

Link to comment
Share on other sites

Hi, Thomas

 

We made improvements in the image loading and encoding so that we could leverage the support that exists in newer versions of JDK.

This way we were able to preserve transparency of images in various formats and be able to load new types of image files.

 

Right now, JR detects the version of JDK you are running on and tries to make the best of it.

I think what you are asking for is to have a new configuration property to allow the engine to use a specific image encoder/decoder. This way you could force JR to use the old way of loading and encoding images in order to avoid the JDK bug you mentioned.

I guess such an improvement it's reasonable, although it would only serve for avoiding JVM bugs. :-)

 

Anyway, feel free to post this as a feature request on our trackers and we'll take it from there.

http://jasperforge.org/sf/tracker/do/listArtifacts/projects.jasperreports/tracker.feature_requests

 

Thanks,

Teodor

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...