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/ ##
## ##
################################################################