Also worth noting that if computing power scales with volume then surface area (and thus radiation) scales like p^2/3. In other words, for a fixed geometry, the required heat dissipation per unit area goes like p^1/3. This is why smaller things can just dissipate heat from their surface, whereas larger things require active cooling.
I'm not a space engineer but I'd imagine that smaller satellites can make due with a lot of passive cooling on the exterior of the housing, whereas a shopping-mall sized computer in space would will require a lot of extra plumbing.
It actually depends on what flags you pass to clang, and for a good reason. 3 term lea uses "complex decoding" and thus has higher latency (and less possible execution ports) on intel arches before icelake. If you run clang -O2 -mtune=icelake-client or -mtune=znver3 (or later architectures) it will generate the single lea instruction.
As always in optimization choices it comes down to cost modelling and trade-offs.
reply