iic has asked for the wisdom of the Perl Monks concerning the following question:

Presently,I heard about "fast cgi" in my country.
But I have no material on it.
Could you give me some comments on it?
What is it and What is its prospect?
Thank you.

Replies are listed 'Best First'.
RE: fast cgi
by princepawn (Parson) on May 16, 2000 at 22:49 UTC
    if you do in fact want to explore mod_perl, then Apache::Registry is the closest you will come to the CGI.pm framework under mod_perl. however see "Web Application Framework" elsewhere on the monastery for a discussion of more user-oriented frameworks. frankly, for me, mod_perl is too nuts-and-boltsish. I like HTML::Embperl, a mod_perl enabled framework which can make use of mod_perl modules when necessary and has single-tier access to Perl modules unlike other solutions which require that wrappers be written for every pure Perl module/function you want to use.
Re: fast cgi
by chromatic (Archbishop) on May 16, 2000 at 23:00 UTC
    FastCGI and mod_perl are two approaches to solve one problem of Perl CGI scripts -- namely, that the web server has to start the script from scratch each time it is called. That means the OS has to locate and load the file, start the interpreter, let the interpreter parse, compile, and finally execute your script every time someone accesses it.

    FastCGI and mod_perl do everything but executing the script, and they keep it around, compiled, to avoid all of the startup each time someone wants to access it. That can be a big performance gain.

Re: fast cgi
by lhoward (Vicar) on May 16, 2000 at 19:38 UTC
    CGI::Fast comes with the standard CGI module. You can get CGI::Fast from any CPAN site. To quote from the CGI::Fast documentation:
    CGI::Fast is a subclass of the CGI object created by CGI.pm. It is specialized to work well with the Open Market FastCGI standard, which greatly speeds up CGI scripts by turning them into persistently running server processes. Scripts that perform time-consuming initialization processes, such as loading large modules or opening persistent database connections, will see large performance improvements.
    If you really want to speed-up your website there are other tools that you should also explore (mod_perl to start with).