Does anyone have any performance reccomendations or links they can share
about tuning XEP? Currently, it is the only part of our application
that does not scale as we add more processors. Each of our application
threads has its own FormatterImpl that gets created once, then we use
SAX and a custom generator to render when we get results.
The way it is performing, it seems like there is some contention in the
internals of XEP. All other pieces of our application stay the same
processing wise as we go from 2 to 4 to 8 processors, but the piece
where we invoke renderx does not. Is there anything anybody knows of
that is synchronized in the internals of XEP? Is anything shared?
Here is our relevant code:
first, we create one formatter per thread (each thread gets its own formatter impl, so no sharing)
this.formatter = new FormatterImpl( new StreamSource( new
FileInputStream( this.renderXConfigFile ) ), new RenderXLogger() );
then, whenever a request comes in, we do the following in the "run" method:
FOTarget target = new FOTarget( fileOutput, this.format );
// insert our filter for dataglyph processing
ContentHandler resultContentHandler = this.formatter.createGenerator( target );
ContentHandler contentHandler = this.formatter.createContentHandler( this.systemId, dataglyphFilter );
SAXResult driverInput = new SAXResult( contentHandler );
transformer.setResult( driverInput );
// now start the whole thing up
It seems like when we go to 4 and 8 processors, the actual rendering
time goes way up, like something in synchronized in the internals of XEP.
Thanks for any help.
Irv
-------------------
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo@renderx.com from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html
Received on Thu Apr 21 05:59:05 2005
This archive was generated by hypermail 2.1.8 : Thu Apr 21 2005 - 05:59:06 PDT