So, returning 2 values is more performant than returning 1.
How does this affect branch prediction ?
When code is structued:
...
result = function1(arg1,arg2,etc);
if ( !result ) handle_error(result);
result = function2(arg1,arg2,etc);
if ( !result ) handle_error(result);
...
branch prediction performs well.
I guess if you're checking and branching on 2 values, it performs twice as well ?
`foo` is slightly more efficient than `bar` on 64-bit SYSV, whose ABI supports 128-bit ("two eightbytes") returns in hardware registers. `bar` requires at least one dereference to assign the result.
On other compilers this isn't the case. MSVC only supports 64-bit returns and would use the stack for `option_int_t`. The caller allocates the space and an implicit pointer is passed in the first argument register (eg, `rcx`), and the same pointer is returned as the result.
You can't just get something to space and then leave it there for free. Any maintenance is way more expensive than a data center on the ground (be it via extra trips or extra R&D for autonomous operating).
You can't leave anything on the ground for free either.
Like what is your argument? A new technology is expensive? That's why you invest into bringing the costs down.
Google invested into balloons to share internet (Loom). Which they eventually gave up on but the correct decision is to try new things and then evaluate their future success. Not just armchair decide that change is scary.
I'm not saying space data centers should happen tomorrow but just that ruling them out completely for YouTube is foolish. Like Sports often send the video feed through space back to earth to be processed. You can skip a step there by just sending it to space, processing it there, and then send it back down to subscribers.
The UK loves to take various infrastructure and industries private and public depending on which government is in power at the moment. See also trains, water, etc
> act on context structures
Same semantics but mutating context is much harder to track, so yes it is preferred to return 2 values.
reply