aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/cache_backlinks.mdwn
blob: dc13d464e147d1a4f64d1b5d4c426130bbca5316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
I'm thinking about caching the backlinks between runs. --[[Joey]] 

* It would save some time (spent resolving every single link
  on every page, every run). The cached backlinks could be
  updated by only updating backlinks from changed pages.
  (Saved time is less than 1/10th of a second for docwiki.)

* It may allow attacking [[bugs/bestlink_change_update_issue]],
  since that seems to need a copy of the old backlinks.
  Actually, just the next change will probably solve that:

* It should allow removing the `%oldlink_targets`, `%backlinkchanged`,
  and `%linkchangers` calculation code. Instead, just generate
  a record of which pages' backlinks have changed when updating
  the backlinks, and then rebuild those pages.

Proposal:

* Store a page's backlinks in the index, same as everything else.

* Do *something* to generate or store the `%brokenlinks` data.
  This is currently generated when calculating backlinks, and
  is only used by the brokenlinks plugin. It's not the right
  "shape" to be stored in the index, but could be changed around
  to fit.