Some of the feedback for the Recursive filter operators to show all tiddlers beneath a tag and all tags above a tiddler was the request to be able to use fields other than tags to connect tiddlers. After some reworking, these are the results:
Both allow to define an optional field to use, as well as to optionally limit the number of hierarchy levels to traverse. By default, tags is used with unlimited recursion, yielding identical results to tagstree
and taggingtree
.
For speed comparison, here is a quite extreme example (a wiki with 8,500 tiddlers out of which ≈ 3,600 are descendants of the base tiddler Origin via tags):
Filter | Median time | Uses | Total time | Total time (last 10) | Longest run | Average time |
---|---|---|---|---|---|---|
[[Origin]kin:tags:to[]count[]] |
7336.50ms | 10 | 73235.00ms | 73235.00ms | 7386.00ms | 7323.50ms |
[[Origin]descendants[]count[]] |
11.50ms | 10 | 114.00ms | 114.00ms | 14.00ms | 11.40ms |
Yes, descendants
is 600× faster here. The difference will be much less for smaller wikis and fewer results and recursion levels, though. Also, using fields other than tags with ancestors
and descendants
will also be somewhat slower.
Let me know if you run into any problems.
Yaisog