>>30045Even with a hot cache only rendering what's necessary on a medium fast machine it's too slow.
More cold stuff.
Programmed and it turned out that a bulk of this was in marshaling and unmarshaling data.
Was able to half the consing, total-run-time, and nearly the real-time just by removing unused slots.
Pulling out the window attribute xcb calls (which never would have guessed) also took off 20 times real-time for small buffers.
And hot stuff.
The remaining problem is the lack of a cache generator.
Combined with running this for the full text instead of just the relevant view-port.
Together this meant it was taking way too long to shape up the characters for long documents.
Fixing this makes it too fast to create a flamegraph for even for large documents.
… but am sort of getting ahead of myself.
Post too long. Click here to view the full text.