Pentaho Reporting: More Reports Per Megabyte

Your server is short of RAM again? The 2 or 3 Gigabyte you allocated to the JVM are already full? Your poor server feels like it is dying a slow death? You need more RAM but are scratching on the limits already?

Then hear the news:

The upcoming Pentaho Reporting 3.7 release features yet another, invisible change to the engine’s behaviour. When you run a report to export the full document, we now run with truly minimal memory requirements.

Until recently, the reporting engine recorded fall-back states during the pagination run so that interactively browsing a paginated report becomes faster. Creating and storing those states is expensive – we have to record the computation state and the layout state for each page. The computation state is a snapshot of all functions and all other datasource and data-processing states. The layout state records the current layout result – how far has the layouting processed, which data is left unprocessed yet, where are the page-breaks and a huge load of internal caches.

In short: It eats memory like hell and takes time to process. And worst: for complete exports, no one is going to browse in a interactive print preview. So all that work is futile. All the memory wasted. The CPU burned out for nothing.

With version 3.7 of the Pentaho Reporting Engine, you will now see some great improvement on your server’s memory usage. Reports may be rendered slightly faster too. The only report-processor that still collects page-states is now the Graphics2D processor used for printing and the print preview.

So the next time you are asked to buy more RAM for your server, upgrade to BI-Server 3.7 and Pentaho Reporting 3.7 instead and get the most out of your precious memory chips. And best of all: You get all drill-linking features for free with it.

This entry was posted in Development on by .

About Thomas

After working as all-hands guy and lead developer on Pentaho Reporting for over an decade, I have learned a thing or two about report generation, layouting and general BI practices. I have witnessed the remarkable growth of Pentaho Reporting from a small niche product to a enterprise class Business Intelligence product. This blog documents my own perspective on Pentaho Reporting's development process and our our steps towards upcoming releases.