[dokuwiki] Re: Performance with many links (bug?)

Actually, after looking into this further, I think this may be a bug in 
p_get_metadata() -- it seems to be re-rendering every time!

Should line 234 in inc/parserutils.php be
    if ($render && !$meta['current']['description']['abstract']){
instead of
    if ($render && !$meta['description']['abstract']){
because of the recent change to persistant/current data?

Todd Augsburger
todd@xxxxxxxxxxxxxxxx
Roller Organs
http://www.rollerorgans.com/



----- Original Message ----- 
From: "Todd Augsburger" <todd@xxxxxxxxxxxxxxxx>
To: <dokuwiki@xxxxxxxxxxxxx>
Sent: Thursday, February 22, 2007 10:09 AM
Subject: [dokuwiki] Performance with many links (bug?)


I have several pages which have many links to other pages (the largest has
about 1200). I also use the first heading for pagenames
($conf['useheading']).

When caches have expired:
    With $conf['useheading'] = 1 it renders in about 75 seconds.
    With $conf['useheading'] = 0 it renders in 4 seconds.

Now I assume that this happens because:
    p_get_first_heading() calls p_get_metadata() which calls
p_render_metadata() which of course takes significant time for each page.

If in p_get_first_heading() I set $render=false, the page renders quickly.

Now ... I realize I'm in over my head at this point, having not look at the
rendering process very deeply. What would be the side effects of, for
instance, only rendering the page if it's the current ID, by adding this to
p_get_first_heading():
  global $ID;
  $render = $render && ($ID == $id);
Or does it need to be rendered at all?


The 75 seconds is of course unacceptable to me. Is this a bug?

Thanks,
Todd Augsburger
todd@xxxxxxxxxxxxxxxx
Roller Organs
http://www.rollerorgans.com/


-- 
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

-- 
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

Other related posts: