[pmwiki-users] Question regarding slow page loading with attr set

Hans Bracker design at softflow.uk
Sat Apr 13 10:49:44 PDT 2024


Hello Petko,

> Authentication conditionals are not fully cached, and the conditional markup calls RetrieveAuthPage() which actually opens the disk file for the target page (in this case the current page), and reads the page text and metadata (but not the whole history) then checks the session passwords against the "passwdedit" attributes.

thanks for the reply and explanations!
Yes, I dug down and found that auth calls to function CondText2 makes the page load slow, if there is a password attribute stored in it, otherwise not.
On my local machine each (:if auth ...:) markup call will take 0.43 secs, if we have  a password attribute set in the page.
I put Stopwatch calls into the CondText2 function, and with pmwiki skin, and page actions and sidebar disabled in the skin tmpl, and a page with just three (:if auth ..:) conditionals, I get:

0: 00.00 MarkupToHTML begin
1: 00.00 CondText2 called
2: 00.42 CondText2 after auth
3: 00.42 CondText2 called
4: 00.85 CondText2 after auth
5: 00.85 CondText2 called
6: 01.27 CondText2 after auth
7: 01.28 MarkupToHTML end
8: 01.28 now

same page without password attributes I get:

0: 00.00 MarkupToHTML begin
1: 00.00 CondText2 called
2: 00.00 CondText2 after auth
3: 00.00 CondText2 called
4: 00.00 CondText2 after auth
5: 00.00 CondText2 called
6: 00.00 CondText2 after auth
7: 00.00 MarkupToHTML end
8: 00.00 now

Caching  of  results of (:if auth...:) per $pagename and per $level may be nice, yes!
What got me onto this today was a test with introducing a new auth level I called 'post', to give a visitor authentication to do Fox posting to a page, without giving full edit access. And it struck me that the whole page loading went up to five seconds! Because of many conditional (:if auth... :) directives!

I was building csv data tables with conditionally showing an edit and delete button for each row, via an automatic or custom template.
So if the page got password attributes set, then the page load time can be catastrophic!

Thanks for looking into this!

Cheers,
Hans




More information about the pmwiki-users mailing list