Projects / SpeedyCGI


SpeedyCGI (aka PersistentPerl) is a way to run Perl scripts persistently, which usually makes them run much more quickly. Converting scripts to use SpeedyCGI is in most cases as simple has changing the interpreter line at the top of the script. After the script is initially run, instead of exiting, SpeedyCGI keeps the Perl interpreter running in memory. During subsequent runs, this interpreter is used to handle new requests, instead of starting a new Perl interpreter for each execution.

Operating Systems

Recent releases

  •  12 Oct 2003 09:27

    Release Notes: This version features Red Hat 9 fixes, better support for setuid under Solaris, fixes for HP-UX 11.22, a fix for a memory leak in speedy_backend, fixes in speedy_file.c, a fix for a buffer overrun in speedy_opt.c, and efence malloc debugging.

    •  30 Sep 2002 09:23

      Release Notes: This version fixes a bug that caused some failures under high load.

      •  20 Sep 2002 13:33

        Release Notes: This release adds an Apache 2 module, exit status support, better buffering of stdio, better control of spawning of backends, shared compiled Perl code, and bugfixes.

        •  30 Mar 2001 10:49

          Release Notes: This release fixes bugs relating to the new Group option (exit was causing the whole interpreter to exit), a bug where mod_speedycgi could run the wrong script, and a bug where sh-bang options could be mixed up between scripts. New features include automated mod_speedycgi testing, a workaround for a Solaris 2.5.1 bug that was causing the mungefds and touch tests to fail, a new variable $CGI::SpeedyCGI::i_am_speedy for a quick way to check if the script is running under speedycgi, and a few new methods: add_shutdown_handler, shutdown_now, and shutdown_next_time.

          •  01 Feb 2001 20:03

            Release Notes: Multiple scripts in one interpreter using the new Group option, removal of all extraneous shared libraries, and code reductions by adding ifdefs to separate frontend/backend code. The Speedy frontend dies on sigpipe if it gets epipe on fd 1 or 2, and the backend always tracks the current directory of the frontend. A new "register_cleanup" method and build binaries for Solaris and BSD were added. Bugs were also fixed for changing mtime on a script which could cause temp-file corruption, and after hitting maxruns, the backend was not chdir'ing to the right directory before exec'ing itself.

            Recent comments

            17 Apr 2002 10:16 vwiswell

            Re: mod_perl

            > Am I missing the point or dosen't
            > mod_perl already do this.

            yes. the point is that, believe it or not, not everyone is running apache.

            26 Sep 2000 14:14 samh

            SpeedyCGI runs outside the web-server, not inside, so
            it can't harm the web-server. It also works on any webserver that supports CGI - not just apache. It's a little more compatible with CGI than mod_perl (you get real stdio
            files for example). Also, speedycgi can be installed by anyone - it doesn't require administrator access to the webserver.

            11 Sep 2000 08:15 blob

            Am I missing the point or dosen't mod_perl already do this.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.