3 ms·
> I’m struck here by an analogy to the Linux kernel. Kernel developers often use “time to build the kernel” as a go-to benchmark when proposing kernel optimizat
by edflsafoiewq 7y ago
> I’m struck here by an analogy to the Linux kernel. Kernel developers often use “time to build the kernel” as a go-to benchmark when proposing kernel optimizations, because it’s a performance-intensive benchmark that every kernel developer, by construction, has readily at hand. Not coincidentally, the Linux kernel is drastically faster than any other production kernel I know of for certain operations that kernel builds exercise heavily, such as filesystem lookups. I think there’s a general lesson here that converting some desirable system property into a direct personal pain point for developers of the system creates very powerful feedback loops to ensure that property.
Nice observation. It's a generalization of how devs with slow computers write more efficient code.
- vidarh 7y agoSomewhat related, to get optimizations into Wirth's Oberon compiler required the optimizations to 'pay for themselves': Compiling the compiler with a version the optimization added had to be at least as fast as without, so the speed improvement it provided had to outweigh both the extra code it added to the source, and the runtime complexity. It didn't serve to make it optimize well, but it served its purpose in keeping the compiler lean and simple to understand, and ensuring fast compilation.