1. Using a higher-level language/runtime that's more efficient for programmer productivity but that outputs less efficient code — nope, still using C.
2. Decreased effort on optimization. I'm sure this is a factor, but I also wonder how applicable it is here. In my day job, I may carelessly use an exponential algorithm or an inefficient data structure because it's quicker to just get the job done, but my impression is that the kernel is still going to pay a lot of attention to such things. Not quite as much as 30 years ago, probably, but kernel engineers aren't just using bubble sort all over the place now.
3. Increased functionality. The modularity of Linux, especially the kernel, mitigates this somewhat: sure, a 2025 kernel supports thousands more devices, file systems, etc than a 1995 one did, but you can compile most of those out. Still, my impression is that we end up with a kernel not just somewhat larger but many times the size of the old ones.
4. Tunables (or things that potentially could be tunable). This would actually be my best guess for where big easy wins could be had: code paths that allocate a 1 MB buffer when they could get by—and would have, years ago—with a few KB. On a system with GBs of RAM, larger allocations like that are probably advantageous but they can really crush an old system.
Likewise in userland: `ls` surely has more options now, but not _that_ many more, right?
Kernel has really only gotten bigger for security, scheduler, file system and network.
Command line, server only installs on raspberry pi are surprisingly light on disk and ram consumption. We expect ipv6, a good file system that doesn’t blow over in a power outage. I don’t think twice about pulling USBC power when things go sideways. 486 Pc era. No chance. That was a moment to reacquaint myself with a diety.
Userland wants more. Some standards are followed. Some code is shared (good and bad). I want 4K hidpi and fonts and colours on a raspberry freaking pi. That convenience costs in terms of storage, compute, and ram. Compare to Mac or windows and Linux looks anorexic.