>>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.
Evaluation took:
0.396 seconds of real time
0.336208 seconds of total run time (0.265805 user, 0.070403 system)
84.85% CPU
751,316,483 processor cycles
8,931,360 bytes consed
Evaluation took:
0.239 seconds of real time
0.151740 seconds of total run time (0.094207 user, 0.057533 system)
63.60% CPU
452,475,538 processor cycles
3,799,744 bytes consed
Evaluation took:
0.010 seconds of real time
0.021974 seconds of total run time (0.021974 user, 0.000000 system)
220.00% CPU
23,525,682 processor cycles
694,528 bytes consed
Evaluation took:
0.010 seconds of real time
0.018074 seconds of total run time (0.018074 user, 0.000000 system)
180.00% CPU
15,426,824 processor cycles
490,880 bytes consed