3 ms·
> Deterministic beats heuristic. > Heuristics are evil and should only be used where determinism is infeasible, such as in cache reclamation are these two thi
by andrekandre 7y ago
> Deterministic beats heuristic.
> Heuristics are evil and should only be used where determinism is infeasible, such as in cache reclamation
are these two things really in conflict?
they seem orthogonal, but maybe i’m missing something...
- virgilp 7y agoYes that's most likely a misunderstanding there - most heuristics I've used were very much deterministic. Non-determinism is evil, that I would agree - but heuristics aren't. As long as you understand they are heuristics and might fail/lead to suboptimal results.
- naasking 7y agoMost internet APIs use timeouts. That's as nondeterministic as it comes.
- marcosdumay 7y agoNetworks are non-deterministic by nature... Just like disk IO, but on networks it's in an entirely new level.
- naasking 7y agoYes, the network is non-deterministic. The point of a reliable protocol is to make it the outcome deterministic despite any underlying non-determinism. So why include timeouts in your protocol which just adds back the non-determinism?
- virgilp 7y agoWhich is why the first rule of distributed systems is "don't distribute your system"