2 ms·
Ideally yes. But there are two major differences between a local and a remote call: 1) A remote call – inherently – fail. However, some local calls never fail.
by struggle2 4y ago
Ideally yes. But there are two major differences between a local and a remote call:
1) A remote call – inherently – fail. However, some local calls never fail. Either because they are designed to never fail or because you have done the required checks before executing the call. A remote call can fail because the network is unreliable and there is no way around that (?).
2) A remote call – inherently – can be very slow. Again because of the unpredictable network. A local call may be slow as well but usually either because everything is slow or because it just takes a while.
So if you have a call that may or may not be local you still have to treat it like a remote call. Right?
I think having a certain set of calls that may or may not be executed locally is not that bad. Usually it will just be a handful of methods/functions that should get this "function x(executeLocally = false|true)" treatment - which is prob. an acceptable tradeoff.
- ElectricalUnion 4y agoThe cool part about "some local call never fails" is that because of scale out, out-of-order multi-threaded execution, is that even "local calls" (for some definitions of local) can fail as your preconditions get invalidated in other threads, unless you're employing mutexes/barriers. Those modern computers are a network mesh of small D/G/CPUs, and it's coming back to bite us sometimes.