Making Things Better When Everything Goes Wrong

Parallel programming can create complex problems. Sometimes, the problems relate to performance ("that's too slow") and sometimes to correctness ("that's the wrong answer"). This chapter gives you a brief overview of the tools available to help you understand the performance and the behavior of your application.

I say a "brief" overview, because fixing performance and correctness problems depends very much on the nature of the problem and the design of the parallel application. One of the biggest aids to solving problems is, inconveniently, prior experience in solving similar problems; it can be hard to understand what is going wrong, until you have reached a critical mass of time spent debugging. You should be able to recognize the problem in Listing 7-1, but it is rare that problems are so easy to spot in real projects. But debugging does get easier, an, while you will never stop creating bugs, you will get better at finding them and fixing them.

0 0

Post a comment