[pmwiki-users] setting up some blogs

pcoud at free.fr pcoud at free.fr
Fri Feb 10 08:39:08 CST 2006


"Patrick R. Michaud" <pmichaud at pobox.com> wrote:

> On Fri, Feb 10, 2006 at 12:23:12PM +0100, pcoud at free.fr wrote:
> >
> > I'm afraid that categories as they are today in pmwiki are unusable for a
> site
> > with numerous pages, especially a blog (lots of small pages). I did a quick
> > benchmark using the [[!Category]] style mark up on a wiki with 5,000 dummy
> > pages (a few lines each), with only one page belonging to a category.
> > Displaying this category (which contains only one of the 5,000 pages)
> > takes 18s :
> > ...
> > On an on-line site with several users, the same scenario would like
> > hit into php timeout, or at least user frustration :-/
>
> While I don't dispute at all that categories and searches could use
> some improvement, I suspect there's something not quite right with
> your setup and/or the way you're producing the timings.
>

Quite possible, I just don't where it can be wrong (except the platform, I know
Macs are sloooow ;-) ).
Its a stock 2.0.13 install, where I added a set of Benchgroup.Pagei dummy pages
(i=1..5000) containing :
---
version=pmwiki-2.0.13 ordered=1 urlencoded=1
name=Benchgroup.Page100
text=This is dummy page numer 100%0a%0aHere are some useful default pages instal
led along with the PmWiki software:%0a%0a* PmWiki documentation is available at
[[PmWiki.DocumentationIndex]].%0a* What is the [[PmWiki/WikiWikiWeb]]?%0a* [[PmW
iki/Basic Editing]] describes how to create pages in PmWiki.%0a* Practice editin
g pages in the [[WikiSandbox]].%0a %0aMore information about [[PmWiki/PmWiki]] c
an be found at http://www.pmwiki.org/%0a[[Category.Benchpagelist]]
time=1139248538
---

I also edited Category.GroupFooter to put the pagelist command, created a dummy
category (Category.Bench) and edited a page to include it in the category.
I enabled these options in local/config.php:
$EnableLinkIndex = 1;
$EnableStopWatch = 1;
$Skin = 'myskin'; # use a template with StopWatch info

and that's all I think.
PHP version is 4.3.11, stock Apple install.

> In particular, pmwiki.org has over 3,400 pages on it and doesn't
> have any trouble dealing with categories.
> See any of
>
>     http://www.pmwiki.org/wiki/Category/UpdateMe,
>     http://www.pmwiki.org/wiki/Category/Skins
>     http://www.pmwiki.org/wiki/Category/Images
>     etc.
>
> and you can see that they all render at about the same speed
> as normal pages.  Of course, pmwiki.org is being run on a hosting
> service (not a dedicated server), and I'm actually running about
> eight separate wikis on that service.

That's true, but I can see that Category.GroupFooter is:
(:pagelist link=Category.{$Name} fmt=simple list=normal:)


> The .linkindex file is used Only for commands of type
> (:pagelist link= ...:), which is the "correct" way to display
> categories.  Using (:pagelist '!{$Name}':) performs a full text

Well, then the documentation is a bit confusing on this aspect:
I can read at http://www.pmichaud.com/wiki/PmWiki/Categories:

Quote{
This is where the special [[!Subject]] markup comes in. If you are using that
markup, you can replace the pagelist command in Category.GroupFooter with
(:pagelist '!{$Name}' list=normal:), and the list will be restricted to only
those pages that have been explicitly added to the category by use of the
special markup
}

And then:
Quote{
 Shouldn't the:
(:pagelist '!{$Namespaced}' list=normal:)
above be rather:
(:pagelist '!{$Namespaced}' link=Category.{$Name} list=normal:)
for a better (faster) effect? (Mateusz)
I do not advise it, because the new syntax has no explicit reference to the
Category group: The only reference is with the !, and is more open for future
development. So, only use it if you actually have performance problems.
(Jean-Dom?)
}

My understanding, it is advised NOT TO use (:pagelist link=Category.{$Name}
right ?

P.




More information about the pmwiki-users mailing list