[xep-support] Performance and synchronization
Irving Salisbury III
irv at dotech.com
Thu Apr 21 05:21:44 PDT 2005
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 at 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
More information about the Xep-support
mailing list