> For all its focus on algorithmic performance I found no mention of pipeline stalls, designing for cache performance, branch prediction, multithreading, etc. which are all very fundamental aspects of good performance on modern hardware
Yes, but pure computer science is not worried about that (maybe about multithreading)
But yeah, for a more practical/specific work there are better options (but it's going to be specific to an area)