Dear Jay,

I agree with you. Now we use Crimson instead Xerces.

I think that the new FOP development 'Trunk' may consider use Crimson or other 
most faster.

Thanks

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 23 de septiembre de 2005 17:20
Para: [email protected]
Asunto: RE: FOP improvement up to 3000%.

No offense meant. I've seen lots of messages about performance differences when 
the test conditions were largely responsible.

In this case, I suggest making more memory available to Xerces. Perhaps Xerces 
makes less efficient use of memory than Crimson. Of course, if memory is a 
sensitive issue, perhaps you should just use Crimson. For that matter, even if 
Xerces does approach the performance of Crimson when you give Xerces more 
memory, why not use Crimson (assuming you get the output you want)?

Fourteen months ago, I wanted to use XSLT 2.0, so I went to Saxon as the XSLT 
processor for FOP. So long as you are willing to prepare the FO file with other 
tools, you do not need to use the tools shipped with FOP.

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)





"Xaus, Jaume" <[EMAIL PROTECTED]>
09/23/2005 10:03 AM
Please respond to
[email protected]


To
<[email protected]>
cc

Subject
RE: FOP improvement up to 3000%.






Dear Jay,

We expended a lot of time in many test about this two libraries. :-)

Two test was performed in the exactily same conditions.

This is the code used in test :

public class TestFop {
  public TestFop() {
    String[] clo = {"-d", "-pdf", "/test/prova.pdf", "-xml", 
"/test/per.xml", "-xsl","/test/ReportGeneric.xsl"};

    try {
      long heapSize = Runtime.getRuntime().totalMemory();
      long heapMaxSize = Runtime.getRuntime().maxMemory();
      long heapFreeSize = Runtime.getRuntime().freeMemory();
      Date ini = new Date();
      System.out.println("Tamany heap : "+heapSize);
      System.out.println("Maxim heap : "+heapMaxSize);
      System.out.println("LLiure heap : "+heapFreeSize);

      Fop.main(clo);

      heapSize = Runtime.getRuntime().totalMemory();
      heapMaxSize = Runtime.getRuntime().maxMemory();
      heapFreeSize = Runtime.getRuntime().freeMemory();
      System.out.println("Tamany heap : "+heapSize);
      System.out.println("Maxim heap : "+heapMaxSize);
      System.out.println("LLiure heap : "+heapFreeSize);
      Date fin = new Date();
      long sec = (fin.getTime()-ini.getTime())/1000;
      String hola = "Temps = "+sec+" segonds.";
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  public static void main(String[] args) {
    TestFop testfop = new TestFop();
  }

Parametres JVM : -Xms128m -Xmx512m
Size of file per.xml : 501 kb
Lines of file per.xml : about 4.000 lines
Pages generated in file prova.pdf : 117 pages

Time with Xerces  : 1637 seconds
Time with Crimson : 66 seconds

Everybody could test yourself if he would !

Salutations

 

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 23 de septiembre de 2005 16:56
Para: [email protected]
Asunto: Re: FOP improvement up to 3000%.

Were the conditions of the two runs exactly the same? For example, if you 
were timing the first run of the Xerces parser and the second run of the 
Crimson parser, caching could account for much of the difference.

Also, such items as configuration differences can have a large impact. If 
you were using the default amount of memory, perhaps Xerces would benefit 
from a change in that setting while Crimson may be more efficient in its 
use of memory and not suffer from using the default. Thus, changing 
configuration could account for at least some of the difference. Your 
mention that "This library give very poor performance where xml file is 
large" makes me think memory may be part of the difference.

I'm sure other issues could factor into it as well.

Of course, Crimson may simply be a much faster parser. I have heard good 
things about Crimson from a number of quarters.

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)





"Xaus, Jaume" <[EMAIL PROTECTED]>
09/23/2005 05:50 AM
Please respond to
[email protected]


To
<[email protected]>
cc

Subject
FOP improvement up to 3000%.











 
Dear friends,
 
We are using FOP api in order to build PDF documents from large Xml files.
 
The FOP package distribution contains Xerces as xml parser. ([Debug] Using 

org.apache.xerces.parsers.SAXParser as SAX2 Parser)
 
This library give very poor performance where xml file is large.
 
We improved up to 3000% the performance simplement changin Xerces for 
Crimson library.([Debug] Using org.apache.crimson.parser.XMLReaderImpl as 
SAX2 Parser)
 
Does anyone know the reason off this performance difference ?
Thanks 
 



Jaume Xaus
Director Departament Java
[EMAIL PROTECTED]


“La confianza, como el arte, nunca proviene de tener todas las respuestas, 

sino de estar abierto a todas la preguntas.” 
Earl Gray Stevens.
 


 

 

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.5/110 - Release Date: 22/09/2005


-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.5/110 - Release Date: 22/09/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.5/110 - Release Date: 22/09/2005
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.5/110 - Release Date: 22/09/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.5/110 - Release Date: 22/09/2005
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to