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.
|Tags||Software Development Interpreters Internet Web|
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.
Release Notes: This version fixes a bug that caused some failures under high load.
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.
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.
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.