
SpeedyCGI is a way to run CGI perl scripts persistently, which usually
makes them run much more quickly.  A script can be converted
to SpeedyCGI by changing the interpreter line at the top of the script from:

    #!/usr/bin/perl

to

    #!/usr/bin/speedy

After the script is initially run, instead of exiting, SpeedyCGI keeps the
perl interpreter running.  During subsequent runs, this interpreter
is used to handle new requests instead of starting a new perl interpreter
for each execution.

SpeedyCGI conforms to the CGI specification, and normally does not work
inside the web server.  A very fast cgi-bin, written in C, is executed
for each request.  This fast cgi-bin then contacts the persistent Perl
process, which is usually already running, to do the work and return
the results.

Since the perl interpreter runs outside the web server, it can't cause
problems for the web server itself.  By default each perl script runs in
its own Unix process, so one program can't interfere with another.
Command line options can also be used to deal with programs that have memory
leaks or other problems that might keep them from otherwise running
persistently.

SpeedyCGI also provides an Apache module so that under the Apache web server,
scripts can be run without the overhead of doing a fork/exec for
each request.  With this module a small amount of frontend code is
run within the web server - the perl interpreters still run outside the server.


