I Got a Knuth Check for 0x$3.00
&gt; People also say that TAOCP is irrelevant or outdated or otherwise inapplicable to “real programming”. This also wrong. For instance, the first section after the chapter intro deals with the basic problem of searching for an item in an unsorted array. The simplest algorithm should be familiar to all programmers. Start your pointer at the head of the array, then do the following in a loop:<p><pre><code>    Check if the current item is the desired one. If it is, return success; otherwise
    Check if the pointer is past the array bound. If it is, return failure; otherwise
    Increment the pointer and continue.
</code></pre>
&gt; Now consider: how many bound checks does this algorithm require on average? In the worst case, when the array doesn’t contain the item, one bound check will be required for each item in the list, and on average it will be something like N&#x2F;2. A more clever search algorithm can do it with just one bound check in all cases. Tack the desired item on to the end of the array, then start your pointer at the head of the array and do the following in a loop:<p><pre><code>    Check if the current item is the desired one.
    If it is, return success if the pointer is within the array bound and return failure if it isn’t; otherwise
    Increment the pointer and continue.
</code></pre>
&gt; With this algorithm, things are arranged such that the item is guaranteed to be found one way or another, and the bound check only needs to be executed once when the item is found. This is a deep idea, but it’s also simple enough even for a beginning programmer to understand.<p>All this is true, but it overlooks one very important thing: on a modern processor architecture, this &quot;optimization&quot; will almost certainly be completely useless [1].  Almost certainly, the bounds check will be pipelined in such a way that it is essentially free on every iteration.  Almost certainly, for a problem of any size where efficiency actually matters, the run time will be dominated by memory access latency.<p>So this is not a very good example to refute the argument that TAOCP is irrelevant and outdated.<p>[1] In fact, it will almost certainly be <i>worse</i> than useless because the extra setup and teardown steps required at the beginning and end will make the algorithm run <i>more slowly</i> than it otherwise would have.