Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!bcm!convex!metzger From: metzger@convex.com (Robert Metzger) Newsgroups: comp.benchmarks Subject: Re: benchmarks and interprocedural optimization Keywords: benchmarks, interprocedural optimization Message-ID: <1991Apr04.190421.14622@convex.com> Date: 4 Apr 91 19:04:21 GMT References: <1991Mar21.184428.8226@convex.com> <1991Mar26.175137.6706@digi.lonestar.org> Sender: news@convex.com (news access account) Organization: Convex Computer Corporation, Richardson, Tx. Lines: 41 Nntp-Posting-Host: bach.convex.com In article <1991Mar26.175137.6706@digi.lonestar.org> blee@digi.lonestar.org (Benjamin W. Lee) writes: >In article <1991Mar21.184428.8226@convex.com> metzger@convex.com (Robert Metzger) writes: >> >>I will give you one data point. One of the larger applications we have >>compiled had 214,500 lines of FORTRAN source in 971 source files. It took >>a total of 5 hours and 26 minutes wall clock time to compile and link on >[...] > >I am very much interested on which portion of the optimization is most >time consuming? The data-gathering stage I suppose? Any good paper available >on interprocedural optimization? Thanks! > In the examples cited, constant propagation took the longest time, array side-effect analysis the next longest. I can't generalize about these well, because: a) relative times between algorithms vary widely based on the coding style. - Some FORTRAN programmers pass dozens or hundreds of arguments to every subroutine. The cost of alias analysis is a function of the number of calls times the number of arguments. There is a substantial difference in alias analysis time when the average number of arguments passed is 10 versus when it is 100. - The more compile-time constants you put in your code, the more work constant propagation does, but this is positive reflection on the IP algorithm, and sometimes on the software engineering of the application as well. - The effort required for several algorithms is increased when FORTRAN programmers put every variable in the application in COMMON, (yes, there are FORTRAN applications with NO local variables) as opposed to keeping everything local that doesn't need to be global. b) some IP algorithms are vectorized in our product. The ratios would be quite different on a scalar machine. -- Robert Metzger CONVEX Computer Corp. Richardson, Texas Generic Disclaimer: I write software, not CONVEX Corporate Policies. "The only legitimate function of government is to protect its citizens from harm or property loss by violence, stealth, or fraud. All else is tyranny."