If you are an x86 assembly-code programmer trying to squeeze the last bit of performance out of an application, then buy Rick Booth's Inner Loops right now. If you program RISC systems, then many of the aforementioned problems have, for the most part, been solved for you, yet a quick read through the earlier chapters may provide some useful ideas, particularly in the area of cache management. Booth, drawing on his store of knowledge from the video and digital video fields, offers good guidance to newcomers by quite properly emphasizing when and why NOT to optimize, and recommending a look to algorithmic improvements first. He also presents the most readable summary of the x86 instruction set that I have ever seen. As noted earlier, Inner Loops is well edited, a rarity in these days of slapdash computer publications.
Nomenclature sometimes departs from industry norms.
Despite these oddities, Inner Loops is quite readable. This is a good chapter if you accept his premise, as it contains considerable detail on such areas as instruction pairing, cache output queuing, data and code alignment, and address generation interlocks. The book includes a CD-ROM containing algorithms, source code, and demos for sorting, hashing, compressing, and more. It also contains the full text of War and Peace , used as test data for several programs presented in the text. I did not examine this material, so I cannot comment on its utility.