4 ms·
The "how computers work" part nowadays involves understanding things like cache efficiency, and quite possibly even knowing whether it's more efficient [1] to c
by Delk 6y ago
The "how computers work" part nowadays involves understanding things like cache efficiency, and quite possibly even knowing whether it's more efficient [1] to compute something locally or transmit it over the network.
These things aren't static, and you can't just have e.g. an understanding of theoretical algorithmic efficiency and call it a day, even if you couple that with an understanding of e.g. CPU tech at time t.
Various levels of abstraction of course fuzzy things up further. You'd then have to understand not only how things work at the low level, but also how your particular layers of abstractions affect things.
With today's tech stacks, that becomes nontrivial real fast.
With that said, yeah, writing at least superficially efficient code isn't really much harder than writing grossly inefficient code if you have a good base understanding.
[1] In this case, in terms of energy efficiency, which is even harder to judge without specific knowledge. Time efficiency is easier to test.