G. Eulisse (NORTHEASTERN UNIVERSITY OF BOSTON (MA) U.S.A.)
A fundamental part of software development is to detect and analyse weak spots of the programs to guide optimisation efforts. We present a brief overview and usage experience on some of the most valuable open- source tools such as valgrind and oprofile. We describe their main strengths and weaknesses as experienced by the CMS experiment. As we have found that these tools do not satisfy all our needs, CMS has also developed a tool of its own called "igprof". It complements the other tools, allowing us to profile memory usage, CPU usage, memory leaks and file descriptor usage of large complex applications such as the CMS reconstruction and analysis software. It is requires no instrumentation and works with multi-threaded programs and with all shared libraries, including dynamically loaded ones. We describe this new tool, it's features and output, and experience including improvements gained in CMS.