%VTIjqrsjr4rCMdHBWL+3Am8r6vciZov2w085QLMqsW4=.sha256
Content warning: Animated GIFs
Worked on some bug fixing: db2 130, jitdb 94, and db2 135
Sure, I have a backlog of ideas and tasks to do, going to go through them now
Some of those ideas were good, such as putting a maximum on the CPU load. This is something I've been trying to do many times. Long time ago I built pull-drain-gently and I've been putting it here and there and checking whether it makes a diff. So far it hasn't, and that's a bummer.
This time I made a similar module, but for push-streams (Dominic's new stream library that is half finished, it's much faster, and it's what we use in ssb-db2 for scanning the log): push-gently. But sadly, I couldn't just hook it up in the stream pipeline, I think there are bugs in push-stream. :P (By the way, check the bottom of the readme on that module!)
I ended up going for a more general solution, and built this module: too-hot. Then, I put it in db2, and put in Manyverse. I got some nice results!
What this accomplishes is that it simply guarantees that other CPU tasks will have opportunity to run. This is important for all apps, but mobile apps suffer more visibly. For instance, Patchwork also suffers from this problem! When it's super busy indexing, it doesn't react to clicks on stuff, see this GIF:
In comparison, Manyverse using too-hot, capping CPU at 85%, allows all UI interactions to run immediately, even though indexing is happening in the background: