3 ms·
> I've heard that oftentimes it makes the performance very unpredictable, as a CPU spike arrives all of a sudden in the last moment. In a sense, all of the com
by chriswarbo 5y ago
> I've heard that oftentimes it makes the performance very unpredictable, as a CPU spike arrives all of a sudden in the last moment.
In a sense, all of the computation occurs in the "last moment", since that's when we're 'forced' to make a decision (more precisely, computation occurs when (a) it's needed by the value defined as `main`; and (b) a computation is 'needed' when we've hit a branch point that depends on its result).
Even more confusing, once a computation has been 'forced', it runs backwards: it's the result which gets forced, in order to choose a branch; if the definition of that result involves branching, that will force other values so we can figure out which branch to take; if those involve branching then more values may get forced; and so on until we reach some branchless 'input'.