3 ms·
Forgive me my ignorance but isn't this scemantically how branch prediction and pipelining in cpus work ? As in when you are writing code that looks like 'isMult
by devnonymous 7y ago
Forgive me my ignorance but isn't this scemantically how branch prediction and pipelining in cpus work ? As in when you are writing code that looks like 'isMultipleOfThree(n) && isMultipleOfFive(n)' in a lower level language, the compiler and cpu work together to produce the logic that computes both and sync()s on the answer ? I do not see the benefit of pulling this complexity upwards into the problem domain or the manner we model solutions to real-world problems.
OTOH, if one were to think about it, we do anyways build software in the manner described -- the only difference being that we 'sync()' on a different layer of abstraction -- the OS, the network, the libraries, the apis ..etc. Building software to be modular, pluggable, extensible, swappable at those layers has always been considered to be good practice. Is the benifit of creating additional absraction layers within the software itself really worth the complexity ? I'm not convinced.