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 "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2007/04/14 00:03:15 UTC

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

     [ 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org


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

Posted by Glen Daniels <gl...@thoughtcraft.com>.
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


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

Posted by Thilina Gunarathne <cs...@gmail.com>.
> But the second patch does not seems to be clean
> inorder to do any reviews on it... Would be great if you can provide a
> clean patch with only the changes...
Oopps.. Sorry... Went through the Jira comments and figured out what
has happened.. Seems like I have missed lot of fun...

~Thilina
>
> Fingers crossed to see the new perf numbers :)....
>
> Thanks,
> Thilina
>
> On 4/14/07, Rich Scheuerle (JIRA) <ji...@apache.org> 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.
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > You can reply to this email to add a comment to the issue online.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: commons-dev-help@ws.apache.org
> >
> >
>
>
> --
> Thilina Gunarathne  -  http://www.wso2.com - http://thilinag.blogspot.com
>


-- 
Thilina Gunarathne  -  http://www.wso2.com - http://thilinag.blogspot.com

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org


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

Posted by Thilina Gunarathne <cs...@gmail.com>.
Good stuff Rich... But the second patch does not seems to be clean
inorder to do any reviews on it... Would be great if you can provide a
clean patch with only the changes...

Fingers crossed to see the new perf numbers :)....

Thanks,
Thilina

On 4/14/07, Rich Scheuerle (JIRA) <ji...@apache.org> 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.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: commons-dev-help@ws.apache.org
>
>


-- 
Thilina Gunarathne  -  http://www.wso2.com - http://thilinag.blogspot.com

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org