--------------------------------------------------------------------------
Speed Report
--------------------------------------------------------------------------

A single request from localhost, using Chromium Browser (v14.0.835.202)
Profiled using the Network tab in the Webkit Inspector.

This was run on an Intel Core 2 Quad Q8200 @ 2.33 Ghz with 4 GB of RAM,
running Ubuntu Linux 11.10 64bit (up to date as of 2011-10-06) in the Gnome 3 
desktop (not Unity.) Rakudo "nom" was updated 2011-10-06T11:20:00-0700

Times are rounded averages, after running the same request a few times. 
All the scripts are in the test/ folder.

--------------------------------------------------------------------------
Script            Engine               Time    Request           Note
--------------------------------------------------------------------------
HTTP.p6           HTTP::Easy::PSGI     195ms   GET /?name=Bob
SCGI.p6           SCGI via Apache 2     80ms   GET /?name=Bob
SCGI.p6           SCGI via Lighttpd     80ms   GET /?name=Bob
dispatch.p6       SCGI via Lighttpd     85ms   GET /?name=Bob
dispatch.p6       SCGI via Apache 2     75ms   GET /test        [1] 
dispatch.p6       SCGI via Apache 2     75ms   GET /perl6       [1]
MethodHandler.p6  HTTP::Easy::PSGI     190ms   GET /?name=Bob
MethodHandler.p6  HTTP::Easy::PSGI     180ms   GET /test/
MethodHandler.p6  HTTP::Easy::PSGI     180ms   GET /duh/
MethodHandler.p6  SCGI via Apache 2     90ms   GET /?name=Bob
MethodHandler.p6  SCGI via Apache 2     75ms   GET /test/
MethodHandler.p6  SCGI via Apache 2     75ms   GET /duh/
form.p6           HTTP::Easy::PSGI     160ms   GET /
form.p6           HTTP::Easy::PSGI     270ms   POST /           [2]
form.p6           SCGI via Apache 2     75ms   GET /
form.p6           SCGI via Apache 2    130ms   POST /           [2]

--------------------------------------------------------------------------
Notes
--------------------------------------------------------------------------

 [1] Time is how long it takes to get the script's response.
     As the redirection itself is handled by the browser, we do not time it.

 [2] Use of multipart/form-data. Sent a 187 byte text file called "chili.txt"

  General note: This is not scientific by any stretch of the imagination,
  with some requests getting times way off from the above numbers. I put
  rounded off times that corresponded with the most common times I was seeing.
  So if I saw 73ms to 78ms 6 or 7 times, but there was a 61ms once, and a 
  231ms once, I put the time as 75ms, ignoring the way out times.
  I generally ran each test about 10 times to get a "feel" for it.
  There were likely other apps running on my desktop, so I'm sure re-running
  the tests from a proper server at some point may be a good idea.

  The general consensus I can see from the tests is, SCGI via a traditional
  web server, is currently the fastest way to serve Perl 6 web apps.
  For rapid testing purposes however, a standalone pure Perl 6 HTTP server 
  is fast enough to test without getting frustrated with the speed.

  Of course, all of these are extremely simple tests, I'm sure a larger
  web application would be significantly slower.

  That said, as Rakudo gets faster, so will this. Hurray for Perl 6 web apps!

