First of all, you are more likely to receive a timely and helpful response
if you post your questions to the appropriate mailing list, as documented on
the FileUpload web page, rather than to individuals. There is no single
"point person" for Jakarta projects. I am cc'ing the appropriate list on
this reply.

Note that the current code is only looking within a region of the current
buffer, and does not have the entire stream available to search in. The code
you provided appears to be based on having all of the input available.

Nevertheless, if you believe that using this algorithm would provide a
noticeable performance improvement over the existing algorithm, I would
encourage you to submit an enhancement request, as described here:

http://jakarta.apache.org/site/bugs.html

and provide a patch to the current code.

--
Martin Cooper


> -----Original Message-----
> From: Ricardo Clements [mailto:[EMAIL PROTECTED]]
> Sent: Monday, February 10, 2003 8:59 PM
> To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; 
> [EMAIL PROTECTED];
> [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Subject: File Upload project
> 
> 
> Sorry about emailing to all of you, but not sure who is the point
> person.
> 
> I have just had your project pointed out to me, and having recently
> added multipart support for an internal (pre-struts) servlet 
> framework,
> I took a look at the source.
> 
> One of the areas I think we could improve is the technique for finding
> the next boundry MultipartStream::findSeparator();
> 
> At present the algorithm actually compares every character looking for
> the first char of the boundry string.  This can be very inefficient,
> especially  if the - or multiple ----- exist in a large upload. 
> 
> A simple and very efficient algorithm is the Boyer Moore search
> algorithm (see attachment).  I used this in my implementation when
> scanning the buffer for the start of the boundry string.  The algoritm
> does require some setup but that cost will only be incured once.
> 
> Feel free to use the code if you choose and I would be willing to lend
> a hand if desired.
> 
> Since there is no main in this class you might run it like :
> 
> (new BoyerMooreSearch("Try to say the bay in the day after daylight",
> "ayl")).search();
> 
> This will look for "ayl" in the first arg.  the longer the search
> pattern the more efficient it can be
> 
> Enjoy
> Ricardo Clements
> [EMAIL PROTECTED]
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Shopping - Send Flowers for Valentine's Day
> http://shopping.yahoo.com
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to