Hi,

We're having an "interesting" problem with a significant slowdown in
processing of some HTML::Template templates.

We are using:
  - using H::T 2.8 and 2.9
  - an house framework that feeds params from a CGI object to H::T
  - CGI 2.81 and 3.15
  - Perl 5.8.0 and 5.8.4

If the following conditions hold:

  - template X is <TMPL_INCL>uded
  - the parameter "region" is set (for <TMPL_LOOP NAME="REGION">)

then processing time for the template is approx 1 second longer.

However

  - if either the TMPL_INCL or the TMPL_LOOPs are commented, processing
    time is reduced
  - the TMPL_INCL does *not* refer to the TMPL_LOOP, and neither does the
    one template it in turn includes.

The DProf runs include the following (with some entries for BEGIN on
inhouse modules removed) :

--------------- without including TMPL_LOOP

[EMAIL PROTECTED]:/SEVA/dada.net/beta2/cgi-bin/sn_test$ dprofpp -rI 
province_noprov.out
Total Elapsed Time = 1.346560 Seconds
          Real Time = 1.346560 Seconds
Inclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
  65.7   0.030  0.885      5   0.0060 0.1770  main::BEGIN
  43.8   0.008  0.590      1   0.0083 0.5899  Our::Application::pageOutput
  43.8   0.000  0.590      1   0.0000 0.5897 
Our::Application::printPageOutput
  9.43   0.050  0.127     78   0.0006 0.0016  HTML::Template::BEGIN
  8.69   0.000  0.117    539   0.0000 0.0002  JSON::Parser::value
  8.24   0.120  0.111   9267   0.0000 0.0000  HTML::Template::param
  7.28   0.000  0.098      2   0.0000 0.0488  HTML::Template::_init

--------------- with the TMPL_LOOP

[EMAIL PROTECTED]:/SEVA/dada.net/beta2/cgi-bin/sn_test$ dprofpp -rI 
province_prov.out
Total Elapsed Time = 2.443450 Seconds
          Real Time = 2.443450 Seconds
Inclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
  109.   1.149  2.676    387   0.0030 0.0069  HTML::Template::BEGIN
  76.8   0.000  1.877      1   0.0000 1.8765 
Our::Application::printPageOutput
  76.4   0.027  1.867      1   0.0275 1.8668  Our::Application::pageOutput
  55.5   0.010  1.356      8   0.0012 0.1696  HTML::Template::LOOP::output
  34.9   0.020  0.853      5   0.0040 0.1705  main::BEGIN
  10.4   0.300  0.256  28736   0.0000 0.0000  HTML::Template::param

e.g. the odd things include

- "HTML::Template::BEGIN" is called a large number of times.  I don't
   see that many BEGIN { } or 'use' blocks in the H::T code, nor do I
understand why they would be called because of a TMPL_INCL

- HTML::Template::LOOP::output takes proportionally much longer.

I'm sorry that this isn't a minimal test case - I'm working with our
HTML editor to try to identify what it is!  But if anyone has any
suggestions on where to start trying to debug this, I'd be interested,
and grateful, to see what you suggest.

Regards,

Hakim (osfameron)

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Html-template-users mailing list
Html-template-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/html-template-users

Reply via email to