From: Bob Leif
To: Lee Insoo
A good deal of your problems comes from the selection of Java as the
programming language. Java is a tremendous marketing success. Unfortunately,
Java was obsolete the day it was created. Although Java is owned by SUN, it
has been the second finest gift to Microsoft. It has their competitors using
a flawed tool. The finest gift was when IBM told its customers that OS/2
would run best on Microchannel hardware. 
The best language for web tools is Ada, which is ISO/IEC standard
8652:1995(E). It is what Java claimed to be, portable. Ada includes generics
(templates) which work; enumerated types; and, whenever possible, dispatches
at compile time. Ada is like XML in that it has range checking and begin and
end structures. 
There is an excellent GNU Ada compiler (GNAT) available at
ftp://ftp.cs.nyu.edu/pub/gnat/
On a 1.4 gigaHz Pentium, the time for a GNAT compile and link is minimal.
The error-messages are excellent.
http://www.adaic.org/ is a source of useful information on Ada.

-----Original Message-----
From: Lee, Insoo [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 27, 2002 12:30 PM
To: '[EMAIL PROTECTED]'
Subject: FOP performance - frustrating.. help!!


  Hello, I'm getting a little frustrated with FOP performance.
  We are generating an XML on the fly that contains a few tables with about
1,000 rows in total.
  We passdown this XML along with XSL to the transformer to generate PDF
from our servlet.
  (transformer.transform( inXML, new SAXResult(
driver.getContentHandler()));  )
  It works well, but it works slow.
  It takes about 5 minutes for 1,000 rows and this is only for transformer
translation (excluing any data query time or jdom XML building time)
  I read through past emails/FAQs and I think I tried them all and it still
does not improve the performance...

  Please help!!
  
  Here is what I have done.

  1) run with more memory - yes I tried with 512MB (I don't get OutOfMemory
error)
  2) run in separate VM - only helps other requests coming to the site
  3) try with the latest FOP - I did - mine is fop-0.20.4
  4) try with the latest xalan.jar and xerces.jar - tried them, but no
improvement
  5) cache XSL style sheet - didn't really help...
  6) use multiple page-sequence - got it to work and I don't get
OutOfMemeory exception, but still performance didn't get better.
         (even if I break them into multiple page-sequences, I will still
have to read through one row at a time, right? - that's why performance is
not really improving..)

  7) no forward-reference - I don't have any page numbers
  8) try with new JDK - trying with JDK 1.3
  9) seralize servlet request - haven't done this, but I doubt this will
have any performance impact (I'm testing with one request for now)
  10) no images - I don't have any...
  11) Don't make the XML tree too deep - mine is very flat with 2 levels
deep.

  I have 1,000 rows and each row looks something like following in XML

  <ROW>
          <TA_FUND_CODE>539</TA_FUND_CODE>
          <LONG_NAME>Some Fund</LONG_NAME>
          <DAILY_FACTOR>0.00003760000</DAILY_FACTOR>
          <SHORT_RATE_365>NA</SHORT_RATE_365>
          <LONG_RATE_365>NA</LONG_RATE_365>
          <RATE_360>NA</RATE_360>
          <CURR_7_DAY_YIELD>NA</CURR_7_DAY_YIELD>
          <SEVEN_DAY_EFF_YIELD>1.400000000</SEVEN_DAY_EFF_YIELD>
          <AVG_30_DAY_RATE>1.580000000</AVG_30_DAY_RATE>
          <PRICE>1.0000</PRICE>
          <RATE_DATE>09 Dec 2002</RATE_DATE>
          <CURRENCY>USD</CURRENCY>
          <STATUS>I</STATUS>
  </ROW>
  

  Here is the question:
    Is this normal to take this long - 5 minutes - to produce a few tables
with combined total 1,000 rows (about 30 pages)?

    Any other better way?

  Thank you for your suggestions.

  Regards,
  IL

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


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

Reply via email to