Is Parallel Programming Hard, And, If So, What Can You Do About It?

The current version is v2023.06.11a [PDF] (single-column format [PDF], ebook format [PDF], change log).

The default double-column format is easiest on both the trees and the eyes in paperback book form. The single-column format works well on large-format ebook readers. Smartphones and smaller ebook readers get better results with the ebook format.

If you would like a dead-tree copy, please feel free to use any of a number of internet-accessible printing services, or you can find dead-tree copies of the first edition here. If you would like a fancy dead-tree copy, here is some shiny artwork for front and back covers, courtesy of Melissa Broussard. The older cover art is still available for those who prefer the classic look (front and back).

Contributions are welcome, and to that end, a public git tree may be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/perfbook.git.

This git tree also provides an up-to-date version for those who are too impatient to wait for the next release. Those who are also too impatient to set up the LaTeX build environment can avail themselves of Leonardo Brás's gitlab CI flow for current PDFs and also for older PDFs.

There is an email list (perfbook@vger.kernel.org, subscribe here) for feedback, patches, review, and discussions. Please see the end of Chapter 1 of the book itself for more information.

Older versions are available as well:

The second edition is available here. The first edition and older versions are available here.

New releases should appear three to four times a year, give or take. This work is covered by the terms of the Creative Commons Attribution-Share Alike 3.0 United States license.