The source code for Apple Chess reveals the intentional inclusion of a time delay in the computer making its moves. As a comment in the source explains:
//
// Paradoxically enough, moving as quickly as possible is
// not necessarily desirable. Users tend to get frustrated
// once they realize how little time their Mac really spends
// to crush them at low levels. In the interest of promoting
// harmonious Human - Machine relations, we enforce minimum
// response times.
//
const NSTimeInterval kInteractiveDelay = 2.0;
const NSTimeInterval kAutomaticDelay = 4.0;
Taking a rudimentary look at the code, it looks like kInteractiveDelay
is for computer-human game modes (so an intentional delay to make us feel better), while kAutomaticDelay
is for computer-computer game modes (so a delay likely there to give us some time to process the moves).
From my own experience, it is pretty demoralising to get absolutely crushed at chess by a computer taking only a few milliseconds to decide each move!
via @bazscott