You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by Glen Daniels <gl...@thoughtcraft.com> on 2007/04/14 01:29:04 UTC

Re: [jira] Resolved: (WSCOMMONS-179) Attachment Processing is very slow...I have a patch that provides a big speedup

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 528680
> 
>> Attachment 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: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org