I'm an experienced programmer, but unfortunately I don't know much about client/server communications, so forgive my attempt at explaining the problem.
The Winstone servlet is reading data streamed from the client and the stream is a GZipInputStream. In this case the servlet seems to process the data quite slowly (at least compared to Jetty or Tomcat). When I pause the execution in a debugger, it most often stops in WinstoneInputStream.read(). Now, maybe I'm not properly identifying the root cause of the problem, but there is definitely a performance problem somewhere.
Thanks for listening and thanks for a great (and very light!) servlet.