Jason Timmins wrote:
N-no, the problem is not with FOP, the problem is that I need to produce
documents really quickly for high-volume PS printers. My .NET app produces
the raw XML and uses Saxon to create the XLS and FOP to turn it into PS. The
problem is that if I fire up the Java VM for Saxon and then again for FOP,
document creation takes 7 seconds (way too slow.) If I turn those two
packages into .NET assemblies and avoid the start-up delays of the Java VM,
document creation times fall to 2 seconds as everything is in the same .NET
execution environment.
If you can tell me how to keep Saxon and FOP running whilst I push large
amounts of XML documents through them, I'd gladly give it a try.
You are making things way too complicated for yourself. FOP is a Java
app, Saxon is a Java app (it is available as .NET but that's an
automated port, not a .NET optimized version). Having two Java apps and
calling them from IKVM makes things both slow and complicated at the
same time. Unless there's a compelling need for you to use .NET for your
transformations (you mention using IIS) why not call both Saxon and FOP
by code? It's plain and simple, even when you have limited knowledge of
Java. And you don't need to exit the JVM anymore. This has two main
benefits: you gain speed (perhaps a lot!) and your application becomes
easier.
And while your at it, you might as well upgrade to a newer version of
FOP, since yours is really ancient.
Which is why I'm asking. It might be Saxon or something in IKVM that leaks.
Or you just do not destroy your objects.... IIS + .NET is known for its
late garbage collection, but when references stay open, it won't garbage
collect at all.
Does .NET not have good tools to track down memory leaks?
Not that I'm aware of. The problem is complicated by it running as a web app
in IIS. It's the IIS worker process that grows until it get's too big and is
recycled.
There are a zillion tools to track down memory leaks (try google, both
free and commercial). But why trying the hard way when you can solve
things easily by switching gears?
HTH,
Cheers,
-- Abel Braaksma
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]