Flag branches as ready for review, by using a ready/ prefix as Joey suggested
[ikiwiki.git] / doc / todo / should_optimise_pagespecs.mdwn
index 15a36fe43f467779e0db6afc7336ad942f206f75..3ccef62fe57542e3603f64ac479c0cbf1e63d759 100644 (file)
@@ -18,8 +18,8 @@ Couldn't isolate the cause, but some sources for this problem may be:
 
 Other special things in my templates and site:
 
-* a sidebar with \[[include pages="notes/\*" template=foo]] while notes.mdwn has 
-  a \[[include pages="notes/*"]] and uses the sidebar; removed it, doesn't change
+* a sidebar with \[[!include pages="notes/\*" template=foo]] while notes.mdwn has 
+  a \[[!include pages="notes/*"]] and uses the sidebar; removed it, doesn't change
 * a template (biblio.tmpl) calling the "img" plugin with a template parameter as the
   image filename; removed it, doesn't change
 * some strange games with tags whose page calls a "map" directive to show other tags
@@ -79,4 +79,30 @@ I can think about reducung the size of my wiki source and making it available on
 > 
 > --[[Joey]]
 
-[[!tag wishlist]]
+[[!template id=gitbranch branch=smcv/ready/optimize-depends author="[[smcv]]"]]
+
+>> I've been looking at optimizing ikiwiki for a site using
+>> [[plugins/contrib/album]] (which produces a lot of pages) and it seems
+>> that checking which pages depend on which pages does take a significant
+>> amount of time. The optimize-depends branch in my git repository
+>> avoids using `pagespec_merge()` for this (indeed it's no longer used
+>> at all), and instead represents dependencies as a list of pagespecs
+>> rather than a single pagespec. This does turn out to be faster, although
+>> not as much as I'd like. --[[smcv]]
+
+>>> I just wanted to note that there is a whole long discussion of dependencies and pagespecs on the [[todo/tracking_bugs_with_dependencies]] page. -- [[Will]]
+
+>>>> Yeah, I had a look at that (as the only other mention of `pagespec_merge`).
+>>>> I think I might have solved some of the problems mentioned there,
+>>>> actually - `pagespec_merge` no longer needs to exist in my branch (although
+>>>> I haven't actually deleted it), because the "or" operation is now done in
+>>>> the Perl code, rather than by merging pagespecs and translating. --[[smcv]]
+
+[[!template id=gitbranch branch=smcv/ready/remove-pagespec-merge author="[[smcv]]"]]
+
+>>>>> I've now added a patch to the end of that branch that deletes
+>>>>> `pagespec_merge` almost entirely (we do need to keep a copy around, in
+>>>>> ikiwiki-transition, but that copy doesn't have to be optimal or support
+>>>>> future features like [[tracking_bugs_with_dependencies]]). --[[smcv]]
+
+[[!tag wishlist patch patch/core]]