{"title":"\"Software Performance Tuning with the Apple CHUD Tools\"","authors":"R. Altherr, R. D. Bois, L. Hammond, Eric Miller","doi":"10.1109/IISWC.2006.302722","DOIUrl":null,"url":null,"abstract":"Summary form only given. Many tools have been created to allow software engineers to analyze the execution of their code. While tools such as gprof often work well, most are not integrated very well with each other or the rest of the development environment, and interpreting the data that they provide can be a challenge. Because Apple's MacOS X is based on UNIX, most open source performance analysis tools can be used. However, we have also integrated several key performance tools together and added graphical data visualization to produce the CHUD toolset (Available for at http://developer.apple.com/tools/download/). With the CHUD tools, programmers can examine the performance of their code using a set of integrated tools that can perform most common performance-measurement tasks, including: traces of function call behavior (like gprof); sampled measurements of program execution timing; traces of software events, such as system calls; and hardware event counter measurements; Moreover, instead of just presenting a few key figures from these measurements in a brief report, the CHUD tools present their results in several textual and graphical formats, with integrated hyperlinks to related assembly and source code, so that programmers can easily examine both how their programs work on a large-scale level or zoom in and look at individual program phases in several different ways. This tutorial is targeted primarily at students and software engineers who work on UNIX-based systems and want to expand the repertoire of tools that they can use to analyze and improve the performance of their code. However, the material should also be useful to educators who teach performance-oriented programming techniques, as the graphical nature of Shark's output makes it easy to demonstrate program behaviors in an eye-catching manner","PeriodicalId":222041,"journal":{"name":"2006 IEEE International Symposium on Workload Characterization","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2006 IEEE International Symposium on Workload Characterization","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IISWC.2006.302722","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Summary form only given. Many tools have been created to allow software engineers to analyze the execution of their code. While tools such as gprof often work well, most are not integrated very well with each other or the rest of the development environment, and interpreting the data that they provide can be a challenge. Because Apple's MacOS X is based on UNIX, most open source performance analysis tools can be used. However, we have also integrated several key performance tools together and added graphical data visualization to produce the CHUD toolset (Available for at http://developer.apple.com/tools/download/). With the CHUD tools, programmers can examine the performance of their code using a set of integrated tools that can perform most common performance-measurement tasks, including: traces of function call behavior (like gprof); sampled measurements of program execution timing; traces of software events, such as system calls; and hardware event counter measurements; Moreover, instead of just presenting a few key figures from these measurements in a brief report, the CHUD tools present their results in several textual and graphical formats, with integrated hyperlinks to related assembly and source code, so that programmers can easily examine both how their programs work on a large-scale level or zoom in and look at individual program phases in several different ways. This tutorial is targeted primarily at students and software engineers who work on UNIX-based systems and want to expand the repertoire of tools that they can use to analyze and improve the performance of their code. However, the material should also be useful to educators who teach performance-oriented programming techniques, as the graphical nature of Shark's output makes it easy to demonstrate program behaviors in an eye-catching manner