Woo! Thanks Rich. Looking forward to trying this out.
--Glen Rich Scheuerle (JIRA) wrote:
[ https://issues.apache.org/jira/browse/WSCOMMONS-179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rich Scheuerle resolved WSCOMMONS-179. -------------------------------------- Resolution: Fixed Revision 528680Attachment Processing is very slow...I have a patch that provides a big speedup ------------------------------------------------------------------------------- Key: WSCOMMONS-179 URL: https://issues.apache.org/jira/browse/WSCOMMONS-179 Project: WS-Commons Issue Type: Improvement Components: AXIOM Reporter: Rich Scheuerle Assigned To: Rich Scheuerle Attachments: ecblank.gif, graycol.gif, patch.txt, patch.txt, pic30745.gif This patch "kills 2 slow birds with one stone". --------------------------------------------- Slow Bird #1: MIMEBodyPartInputStream uses single byte reads. Solution: The patch changes MIMEBodyPartInputStream to use byte[] reads. --------------------------------------------- Slow Bird #2: MIMEBodyPartInputStream looks for the boundary using a single byte scan. Solution: The root of the problem is that we don't have a utility to optimize scanning for bytes....now we do (ByteSearch). I hoisted the byte scanning algorithm code out of BoundaryDelimittedInputStream and constructed an easy to use ByteSearch utility. ByteSearch uses a sophisticated "byte skipping" algorithm, which avoids single byte scans. Please look at this new utility. The second part of the solution is to simply uses the ByteSearch to search for the boundary. This simplification of design actually cleans up the code AND produces much favorable performance. ------------------------------------------------- Please review the changes. I would like some feedback. Follow-on: May consider re-writing ByteDelimittedInputStream to use the new ByteSearch code.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
