Common bottlenecks and how to avoid them
As in most of our chapters so far, we will finish by reviewing a few common mistakes and false optimizations. In the benchmarking world, this is all about understanding the bottlenecks and the anti patterns that frequently show up in application code and how they can be avoided.
Care should be taken that any instrumentation is not too intrusive. If, for example, the chosen instrumentation tool inserts extra bytecode operations all over the application code, the overall timing of the program can change completely. This may make the resulting profile useless for drawing any kinds of conclusions about the original program behavior. While small bytecode instrumenters may be handy for things like implementing ...