That diagnostic isn't actually about time. It's about memory. So it doesn't matter how fast the computer is. There's little need to worry that it will behave differently on different machines (though see below).
From CSSolver.cpp
:
// If the solver has allocated an excessive amount of memory when solving for
// this expression, short-circuit the binding operation and mark the parent
// expression as "too complex".
if (cs.TC.Context.getSolverMemory() >
cs.TC.Context.LangOpts.SolverMemoryThreshold) {
cs.setExpressionTooComplex(true);
return true;
}
(setExpressionTooComplex
is the origin of that diagnostic)
The current SolverMemoryThreshold
is ~15MB.
Because Swift is being ported to different architectures, it is possible (though highly unlikely IMO) that you could get this error on some platforms, but not others. Generally this would work in the other direction than you're thinking. For instance, a 32-bit system may actually be allowed to go further down the rabbit hole before this diagnostic fires (since 32-bit machines often allocate less memory for data structures). But if you hit 15 MB trying to evaluate a single expression, you probably weren't going to solve it with just a few more recursions. So this would be a very surprising and unlikely result.