[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