You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Mirko Sertic <Mi...@dtmgmbh.de> on 2002/05/06 16:29:02 UTC

Memory usage on lage documents

Hi there folks!

I've a question regarding the memory usage of the fop formatter with large
documents.
I'm rendering a large list with about 450 pages and 10000 table entries.

When i look ad the memory usage of the fop formatter in my win32
enrironment, i see
that it consumes about 180 MBytes of memory and it needs a lot of time to
complete its
work!

Is there any way to make it faster or to let it use not so much memory
without throwing
an out ot memory error?

Is there any c++ formatter out there that is open source and can do the work
faster and
without so much memory usage?

Thanks a lot

Mirko


Re: Memory usage on lage documents

Posted by Baptiste Casanova <bc...@formatel.fr>.
Memory usage is the weakness of FOP.
But you should try to increase the memory available for your JVM, using
java -Xms100m -Xmx250m  (for example).
And if tou have big tables, you should generate page-sequence breaks.



> Hi there folks!
>
> I've a question regarding the memory usage of the fop formatter with large
> documents.
> I'm rendering a large list with about 450 pages and 10000 table entries.
>
> When i look ad the memory usage of the fop formatter in my win32
> enrironment, i see
> that it consumes about 180 MBytes of memory and it needs a lot of time to
> complete its
> work!
>
> Is there any way to make it faster or to let it use not so much memory
> without throwing
> an out ot memory error?
>
> Is there any c++ formatter out there that is open source and can do the
work
> faster and
> without so much memory usage?
>
> Thanks a lot
>
> Mirko
>
>



AW: Memory usage on lage documents

Posted by Mirko Sertic <Mi...@dtmgmbh.de>.
Hi there again!

Thanks for your help.

I think you are right and my extremly long page sequences are the matter.
In fact, i have only one page-sequence.

The problem is, i cannot create multiple page sequences because i do not
know
where to break my pages. Every table-row in my document is unique and so i
do
not know where to break.

I could limit the page-sequence to let me say 20 rows per page, but this
would
destroy my cool report layout ( I know that sounds silly but you know
"customers whishes" !!! )

Is there any other way?

Bye

Mirko

-----Ursprungliche Nachricht-----
Von: Cyril Rognon [mailto:crognon@objectiva.fr]
Gesendet: Montag, 6. Mai 2002 16:49
An: fop-user@xml.apache.org
Betreff: Re: Memory usage on lage documents


Mirko,

there are many post on this list that point out the weaknesses of the FOP
engine. The main enemies are  : long page sequence and forward references.

If you use long tables, then you most certainly have long page sequences.
If you have logical page break in your tables, please, change your XSLT
code to generate page-sequence break in your tables. The shortest page
sequence the least memory used.

As for the "lot of time" to complete the work, it appear that forward
reference may be responsible for this. I hav had the same proble for 400 to
1000 pages documents that have the famous "total number of pages" at the
bottom of every pages. I have successfully set up an unclean workaround : I
generate my "total number of pages" after PDF generation is complete using
iText software. I even generate my toc at the end of the fo file and then I
move it at the top of the document and then write the number of pages at
the right place on every pages. This is pretty simple if you look at iText
sample code (itext.sourceforge.net).

The last thing : C++ or C or ASM formatter won't help much because it is
the global design that makes FOP slow and memory consumer. The redesign is
on it's way. The workarounds I have mentionned are just gizmo to allow one
to wait for the next generation of FOP.

Hope that helps,

Cyril


At 16:29 06/05/2002 +0200, you wrote:
>Hi there folks!
>
>I've a question regarding the memory usage of the fop formatter with large
>documents.
>I'm rendering a large list with about 450 pages and 10000 table entries.
>
>When i look ad the memory usage of the fop formatter in my win32
>enrironment, i see
>that it consumes about 180 MBytes of memory and it needs a lot of time to
>complete its
>work!
>
>Is there any way to make it faster or to let it use not so much memory
>without throwing
>an out ot memory error?
>
>Is there any c++ formatter out there that is open source and can do the
work
>faster and
>without so much memory usage?
>
>Thanks a lot
>
>Mirko


Re: Memory usage on lage documents

Posted by Cyril Rognon <cr...@objectiva.fr>.
Mirko,

there are many post on this list that point out the weaknesses of the FOP 
engine. The main enemies are  : long page sequence and forward references.

If you use long tables, then you most certainly have long page sequences. 
If you have logical page break in your tables, please, change your XSLT 
code to generate page-sequence break in your tables. The shortest page 
sequence the least memory used.

As for the "lot of time" to complete the work, it appear that forward 
reference may be responsible for this. I hav had the same proble for 400 to 
1000 pages documents that have the famous "total number of pages" at the 
bottom of every pages. I have successfully set up an unclean workaround : I 
generate my "total number of pages" after PDF generation is complete using 
iText software. I even generate my toc at the end of the fo file and then I 
move it at the top of the document and then write the number of pages at 
the right place on every pages. This is pretty simple if you look at iText 
sample code (itext.sourceforge.net).

The last thing : C++ or C or ASM formatter won't help much because it is 
the global design that makes FOP slow and memory consumer. The redesign is 
on it's way. The workarounds I have mentionned are just gizmo to allow one 
to wait for the next generation of FOP.

Hope that helps,

Cyril


At 16:29 06/05/2002 +0200, you wrote:
>Hi there folks!
>
>I've a question regarding the memory usage of the fop formatter with large
>documents.
>I'm rendering a large list with about 450 pages and 10000 table entries.
>
>When i look ad the memory usage of the fop formatter in my win32
>enrironment, i see
>that it consumes about 180 MBytes of memory and it needs a lot of time to
>complete its
>work!
>
>Is there any way to make it faster or to let it use not so much memory
>without throwing
>an out ot memory error?
>
>Is there any c++ formatter out there that is open source and can do the work
>faster and
>without so much memory usage?
>
>Thanks a lot
>
>Mirko