WinstoneOutputStream doesn't implement the version of the write method that takes (byte,int,int), so when data is written, the write(int) method is called repeatedly.
This is already inefficient to begin with, but it gets worse when the Content-Length header is set. One of the Hudson users reported this, and said that on his machine this means Winstone can serve only 200kb/sec with 100% CPU usage.
I'm attaching the patch for this problem.
Log in to post a comment.