X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b2bd444f31fd9f294ee0dbc4b9a61b1e8c04055c..511f7f9cb94ebdd8ea33973a0ca74d2f8249aa3f:/doc/todo/optimisations.mdwn?ds=inline

diff --git a/doc/todo/optimisations.mdwn b/doc/todo/optimisations.mdwn
index 924ff8ffa..b8c4fa0da 100644
--- a/doc/todo/optimisations.mdwn
+++ b/doc/todo/optimisations.mdwn
@@ -1,13 +1,15 @@
-* Render each changed page only once. Currently pages are rendered up to 4
-  times in worst case (8 times if there's an rss feed).
-
-  The issue is that rendering a page is used to gather info like the links
-  on the page that can effect rendering other pages. So it needs a
-  multi-pass system. But rendering the whole page in each pass is rather
-  obscene.
-
-* Don't render blog archive pages unless a page is added/removed. Just
-  changing a page doesn't affect the archives as they show only the title.
+Ikiwiki has already been optimised a lot, however..
 
 * Look at splitting up CGI.pm. But note that too much splitting can slow
   perl down.
+
+  > It's split enough, or possibly more than enough, now. :-)
+
+* The backlinks calculation code is still O(N^2) on the number of pages.
+  If backlinks info were stored in the index file, it would go down to
+  constant time for iterative builds, though still N^2 for rebuilds.
+
+  > Seems to be O(Num Pages * Num Links in Page), or effectively O(N)
+  > pages for most wikis.
+
+[[done]]