In this chapter, profiling with GNU s gprof was discussed, identifying some of the most useful options that are provided. Building an application for use with gprof and then gathering a profile from it were explored, including options for the various gprof data products and recommendations for improving the performance of an application from a caching perspective.