3 ms·
Domain knowledge is great and I think 30 years ago this was much more true. These days I think most software has so many mind melting inefficiencies that there
by BubRoss 7y ago
Domain knowledge is great and I think 30 years ago this was much more true. These days I think most software has so many mind melting inefficiencies that there is an avalanche of fat waiting to be shaken loose.
Even without nonsense O(n^2) accidentally lurking or huge amounts of time going to granular operations depending on something external that has a large latency, there are still usually gratuitous memory allocations and of course pointer chasing.
Taking out allocations from inner loops can easily be a 7x speedup. Taking out pointer chasing, linked lists, virtual pointers etc. and just looping through an array of structs can be another 25x for the areas that use them.
From there it's off to SIMD and multi-threading but I don't expect that from most software.
Interestingly, none of these rely on programming directly in assembly.
- H8crilA 7y agoIt is a good point that software has a lot of fat these days, therefore optimization is an easier task (because it's done much more rarely). Windows 98, for however many bugs it had, was so much more responsive.