- LaTeX and build-system upgrades (including helpful error checking and reporting), formatting improvements (including much nicer display of hyperlinks and of Quick Quizzes, polishing of numerous figures and tables, plus easier builds for A4 paper), refreshing of numerous broken URLs, an improved “make help” command (see below), improved FAQ-BUILD material, and a prototype index, all courtesy of Akira Yokosawa.
- A lengthy Quick Quiz on the relationship of half-barriers, compilers, CPUs, and locking primitives, courtesy of Patrick Yingxi Pan.
- Updated performance results throughout the book, courtesy of a large x86 system kindly provided by Facebook.
- Compiler tricks, RCU semantics, and other material from the Linux-kernel memory model added to the memory-ordering and tools-of-the-trade chapters.
- Improved discussion of non-blocking-synchronization algorithms.
- Many new citations, cross-references, fixes, and touchups throughout the book.
The output of the aforementioned make help is as follows:
Official targets (Latin Modern Typewriter for monospace font): Full, Abbr. perfbook.pdf, 2c: (default) 2-column layout perfbook-1c.pdf, 1c: 1-column layout Set env variable PERFBOOK_PAPER to change paper size: PERFBOOK_PAPER=A4: a4paper PERFBOOK_PAPER=HB: hard cover book other (default): letterpaper make help-full" will show the full list of available targets.
The following excerpt of the make help-full command's output might be of interest to those who find Quick Quizzes distracting:
Experimental targets: Full, Abbr. perfbook-qq.pdf, qq: framed Quick Quizzes perfbook-nq.pdf, nq: no inline Quick Quizzes (chapterwise Answers)
Thus, the make nq command creates a perfbook-nq.pdf with Quick Quizzes and their answers grouped at the end of each chapter, in the usual textbook style, while still providing PDF navigation from each Quick Quiz to the relevant portion of that chapter.
Finally, this release also happens to be the first release candidate for the long-awaited Second Edition, which should be available shortly.