Advertisement
Membership
Login
ACCU Buttons
Search in Book Reviews
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
I would expect any book on optimisation to start with a discussion of why you would want to optimise. Following closely it would quote Jackson's maxim 'There are two rules for when to optimise 1. Do not do it. 2. (for experts only) Do not do it yet.' or some variation thereof. It does not.
The book's definition of optimisation is based solely on speed. It presumes that you want your program to run as fast as possible, without serious a mention of the expense in code/algorithm clarity. It gets around to the use of profilers to find the real bottlenecks in section three of the sixth chapter. There is not a strong focus on the efficiency gains from appropriate initial system design and/or good choice of algorithm in the first place, both of which are key. Instead it focuses on ways to tweak existing code to make it run faster.
The field of 'high performance computing' is presumed (but never explicitly defined) to be heavily number crunching applications, aeroplane design would be a good example. 'High performance computers' are the big iron machines. This will flavour whether or not you will be interested in the book. It is heavily biased to the server side of computing, with a mainly Unix slant - most heavy OS dependent examples use HP-UX (understandably). The writers mix Fortran and C, again betraying the target audience.
The book is structured in three parts. Interestingly the first section is a good overview of computer hardware and the types of computer (including CISC, RISC, vector, VLIW and parallelism). It sets the scene for most of the following optimisation strategies, which are concerned only with maximising cache potential. Section two describes software techniques for optimisation, including a not-entirely-gripping 33-page list of all possible optimisations a compiler could automatically make for you. Section three, 'Applications' is largely concerned with Fortran numerical libraries - although there is an interesting application section on signal processing.
The book's cover has a picture of a high-speed train. Perhaps it was fortuitous the authors did not pick a British train.