Profiling (computer programming): Difference between revisions

Content deleted Content added
Ercoppa (talk | contribs)
Ercoppa (talk | contribs)
Line 37:
Profiler-driven program analysis on Unix dates back to at least 1979, when Unix systems included a basic tool "prof" that listed each function and how much of program execution time it used. In 1982, gprof extended the concept to a complete [[call graph]] analysis.<ref name="gprof">S.L. Graham, P.B. Kessler, and M.K. McKusick, [http://docs.freebsd.org/44doc/psd/18.gprof/paper.pdf ''gprof: a Call Graph Execution Profiler''], Proceedings of the SIGPLAN '82 Symposium on Compiler Construction, SIGPLAN Notices, Vol. 17, No 6, pp. 120-126; [[doi:10.1145/800230.806987]]</ref>
 
In 1994, Amitabh Srivastava and Alan Eustace of [[Digital Equipment Corporation]] published a paper describing ATOM.<ref>AmitabhA. Srivastava and AlanA. Eustace, "Atom: A system for building customized program analysis tools", 1994 ([http://www.ece.cmu.edu/~ece548/tools/atom/man/wrl_94_2.pdf download''Atom: A system for building customized program analysis tools''], Proceedings of the ACM SIGPLAN Conference on Programming language design and implementation (PLDI '94), pp. 196-205, 1994; ACM SIGPLAN Notices - Best of PLDI 1979-1999 Homepage archive, Vol. 39, No. 4, pp. 528-539; [[doi:10.1145/989393.989446]]</ref> ProceedingATOM is a platform for converting a program into its own profiler. That is, at [[compile time]], it inserts code into the program to be analyzed. That inserted code outputs analysis data. This technique - modifying a program to analyze itself - is known as "[[Instrumentation (computer programming)|instrumentation]]".
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation. Pages 196 - 205, [[doi:10.1145/773473.178260]]</ref> ATOM is a platform for converting a program into its own profiler. That is, at [[compile time]], it inserts code into the program to be analyzed. That inserted code outputs analysis data. This technique - modifying a program to analyze itself - is known as "[[Instrumentation (computer programming)|instrumentation]]".
 
In 2004, both the gprof and ATOM papers appeared on the list of the 50 most influential [[Conference on Programming Language Design and Implementation|PLDI]] papers of all time.<ref>[http://www.cs.utexas.edu/users/mckinley/20-years.html 20 Years of PLDI (1979–1999): A Selection, Kathryn S. McKinley, Editor]</ref>