This was done long before I was aware of C::A::Dispatch.  This works,
it's just too slow (for various reasons).

Do you mean the conversion process is too slow or that C::A::Dispatch is
too slow?

The former, surely.

Actually neither. The vanilla CGI:App is too slow. There is allot of overhead to add CGI::App + TT etc. Well... OK, it's not MUCH slower, but we also added some new modules that use DBIx::Class... and on a 120 table database THAT is slow to load (2sec).

Dumping DBIx::Class would also be an option, but it's still not particularly zippy with plain CGI/
(main page does ALOT of queries, and they are often quite complicated)


So I am just now trying to patch this to run under fcgi, because from
my poking around this would require
less rewriting of the code I already have (vis-a-vis mod_perl).

Another approach is to clean up any usage of global variables, and to
then run them all as registry scripts (mod_perl on-the-cheap, so to
speak).

Will consider this.  The only globals are:
a) a couple of constant hashes
b) a bunch of "use constants"
a) C::A::P::TT->tt_config*

Can you leave global constants here, I do I have to shove them into the object?


* I call tt_config as a class method as recommended in the POD section "SINGLETON SUPPORT".
It mentions:
"So to improve the efficiency of Template Toolkit, we should keep the object (and hence all the compiled templates) in memory across multiple requests. This means you only get hit with the startup cost the first time the TT object is created"

But I don't see how putting this in the superclass actually does this, in a vanilla (NON CACHED) CGI app where a C::A object is instantiated, ->run() and then destroyed. What difference does it make under namespace the tt object exists? Assuming you don't run tt_config at each level of the hierarchy (which you would have to be pretty silly to do)

As a point of clarification, most of the relevant C:A objects are in my system are:

WWW::Reports::LocusReport::LocusSummary ISA LocusReport
WWW::Reports::LocusReport:: ISA Reports
WWW::Reports ISA CGI::Application

yay extraneous plural!

So is the "singleton support" comment only relevant in a cached env like mod_perl or FCGI?



--
Ben Hitz
Senior Scientific Programmer ** Saccharomyces Genome Database ** GO Consortium
Stanford University ** [EMAIL PROTECTED]




#####  CGI::Application community mailing list  ################
##                                                            ##
##  To unsubscribe, or change your message delivery options,  ##
##  visit:  http://www.erlbaum.net/mailman/listinfo/cgiapp    ##
##                                                            ##
##  Web archive:   http://www.erlbaum.net/pipermail/cgiapp/   ##
##  Wiki:          http://cgiapp.erlbaum.net/                 ##
##                                                            ##
################################################################

Reply via email to