Performance
Caveats
Most if not all pages are just rough notes, and these pages as a whole are far from complete. More notes will be added in time, eventually, maybe.
If, from reading these notes, you conclude that I am off my rocker, you won’t be the first, and you may even be right. These pages may simply position me as an acolyte to the late Gene Ray.
No doubt there are a dozen and one reasons why none of this would ever work, but perhaps somewhere deep down there is a tiny fragment that could be used for something.
Contrasting the Intel 80486 DX 33 with the MOS 6502 2 MHz, you could estimate a difference in performance of something like a 30 times increase: (33 MHz ÷ 2 MHz) × (32-bit ÷ 8-bit). Random search result MIPS scores suggest around 0.9 MIPS for the 2 MHz 6502 and 27 for the 486 DX 33; this is still a more modest 13-fold improvement. (Assessing the real-world CPU performance increase from the late 70s home computers up the modern desktop PC is a separate subject.)
The single-thread benchmarks for the 3rd and 10th generation Intel Core i7 CPUs give a mere 50% increase over eight years: the huge improvements in performance year-on-year are now a thing of the past. SSDs are responding faster but the underlying NAND storage is getting slower to keep the costs down while increasing capacity (SLC → MLC → TLC → QLC). It’s now more important than ever to be conservative with CPU power as the ability to upgrade out of a pickle is greatly reduced.
Modern RAM capacity, memory “bandwidth” and storage speed have afforded benefits not possible in the past, for example Unicode. It is, however, all too easy to take this privilege for granted: computers perceptibly feel slower now than they did in the past. The ideas presented on these pages tread a fine line. A high-quality system places considerable demand on the hardware: the more straightforward and natural a system is, the harder the computer has to work to power that illusion. Computers are reliable workers but also coldly logical, primitive and pedantic: usability is the result of a great deal of effort to present a friendly exterior.
As such, a careful balance is required: use as much CPU time, memory, disk capacity and disk throughput as is necessary to achieve a high-quality system, but no more. At this point in time, it no longer makes sense to aim a new OS at hard disk throughput levels: solid-state storage is to be taken as a given. There is merit in minimising the weight of an OS from a carbon footprint perspective, to allow the continued use of older computers that would otherwise need to be recycled and replaced at considerable environmental expense, but Linux is probably better placed for this purpose.
This is not to say that only cutting-edge hardware is to be deemed acceptable. However, great effort to accommodate excessively outdated hardware will not be deemed valuable.
Various subsystems take a considerably more complex form than conventional approaches, in particular the Multidimensional Filing System (over more straightforward directory file or balanced tree approaches), Layer Config (over text-file configuration or the comparatively simple Windows Registry) and the display system (over simple bitmap-based graphics). All these approaches need to be optimised to offset some of the additional workload.