http://qs1969.pair.com?node_id=145849


in reply to Re: Re: CGI::Simple vs CGI.pm - Is twice as fast good enough?
in thread CGI::Simple vs CGI.pm - Is twice as fast good enough?

tachyon wrote:

CGI::Simple uses SelfLoader to avoid compiling methods that are rarely used. You do this by placing these methods below a __DATA__ token. At compile time compilation stops at the __DATA__ token.

I didn't notice this part at first. mod_perl scripts cannot contain __DATA__ tokens. Do you have a solution for this? I suppose you can make a separate mod_perl implmentation without the __DATA__ token. Since the performance issue you're resolving is load time, this really doesn't apply in this instance. However, then you have CGI::Simple, CGI::Simple::Standard, and CGI::Simple::mod_perl. I don't see a problem with that if you really need those namespaces to address these issues, but I wonder if others would object.

Cheers,
Ovid

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

  • Comment on (Ovid) Re(3): CGI::Simple vs CGI.pm - Is twice as fast good enough?

Replies are listed 'Best First'.
Re: (Ovid) Re(3): CGI::Simple vs CGI.pm - Is twice as fast good enough?
by tachyon (Chancellor) on Feb 16, 2002 at 17:08 UTC

    Ah says he. Logically you just delete the use SelfLoader and __DATA__ tag. On testing of loadtimes using a version of CGI::Simple without Selfloader and the __DATA__ tag the entire script loads/compiles slower but is still faster than CGI.pm plus all the methods are compiled and ready to go.

    There would seem to be three options. A mod perl version without the __DATA__ tag. Cutting the module into two parts with the less used functions in another module that gets required in a runtime. A CGI.pm type solution.

    I would favour having a CGI::Simple::mod_perl module that is just the standard module without SelfLoader and the __DATA__ tag as this is easiest to maintain and as most scripts need some tuning to use mod_perl so modifying the use CGI::blah should be no big deal.

    In reality under mod_perl there is no good reason not to just use CGI.pm as the load time, size, etc is not an issue and it is well proven.

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

      In reality under mod_perl there is no good reason not to just use CGI.pm as the load time, size, etc is not an issue and it is well proven.

      In reality under mod_perl there is no good reason not to just use Apache::Request as it is smaller, faster and it is well proven :)

      --
      Ilya Martynov (http://martynov.org/)

Re: (Ovid) Re(3): CGI::Simple vs CGI.pm - Is twice as fast good enough?
by IlyaM (Parson) on Feb 16, 2002 at 22:21 UTC
    I didn't notice this part at first. mod_perl scripts cannot contain __DATA__ tokens.

    Since it only applies to scripts which run under Apache::Registry there should be no problems with CGI::Simple and it's usage of __DATA__ under mod_perl.

    --
    Ilya Martynov (http://martynov.org/)