Responsively fast software
Computers shouldn't lag, ever. I am interested in ideas how to speed up the perceived performance of computers.
This question is principles to create extremely responsive fast software. Most installers and software is really slow and unresponsive.
a) use "ideas #120 cancellation trees" cancellation trees is the idea that every operation is organised into a tree of operations and can be aborted at any time due to running in a separate thread and when the user changed the operation, the invalidated processes stop looping and are cancelled. "ideas4 #99 register loop" register loop is the idea of registering loops for progress monitoring and being modifiable by other threads.
b) change the priority of processes. Pinterest got a 20% performance boost by increasing priority of their processes.
c) use biased "concurrent loop" scheduling. If we say we have 5 operations and we want operation 1 to take 30% of the time, operation 2 20% operation 3 25% operation 4 5% and operation 5 20%. We can generate a sequence that executes loops in that proportion.
d) send slow operations to another computer
e) arrange data in structures of arrays for data locality