Filter timings only include the calculation time of the filters themselves and now how long it takes to render any corresponding widget output. I suspect the real slowdown is in the rendering of the output rather than the filters. Two quick thoughts that came to mind:
- Replace all the link widgets with static HTML and wrap $eventcatcher around the whole thing to handle navigation.
- Consider using the Dynaview plugin from the official library, its designed to only render the portion of the tiddler that is in view.
If you created a single tiddler that held the combined text of Genesis and then checked if it had the same performance issues, it would help identify if the slowdown comes from the rendering of that much content, or from the filters and transclusions that piece it together.