{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,8]],"date-time":"2026-10-08T20:38:18Z","timestamp":1791491898239,"version":"4.3.4"},"reference-count":24,"publisher":"Wiley","issue":"6","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":5630,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1991,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>This paper describes an experiment undertaken to evaluate the effectiveness of inline substitution as a method of improving the running time of compiled code. Our particular interests are in the interaction between inline substitution and aggressive code optimization. To understand this relationship, we used commercially available FORTRAN optimizing compilers as the basis for our study. This paper reports on the effectiveness of the various compilers at optimizing the inlined code. We examine both the runtime performance of the resulting code and the compile\u2010time performance of the compilers. This work can be viewed as a study of the effectiveness of inlining in modern optimizers; alternatively, it can be viewed as one data point on the overall effectiveness of modern optimizing compilers. We discovered that, with optimizing FORTRAN compilers, (1) object\u2010code growth from inlining is substantially smaller than source\u2010code growth, (2) compile\u2010time growth from inlining is smaller than source\u2010code growth, and (3) the compilers we tested were not able to capitalize consistently on the opportunities presented by inlining.<\/jats:p>","DOI":"10.1002\/spe.4380210604","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T05:36:56Z","timestamp":1163828216000},"page":"581-601","source":"Crossref","is-referenced-by-count":57,"title":["An experiment with inline substitution"],"prefix":"10.1002","volume":"21","author":[{"given":"Keith D.","family":"Cooper","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mary W.","family":"Hall","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Linda","family":"Torczon","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/53990.53999"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180805"},{"issue":"7","key":"e_1_2_1_4_2","first-page":"246","article-title":"Inline function expansion for inlining C programs","volume":"24","author":"Hwu W. W.","year":"1989","journal-title":"Proceedings of the SIGPLAN 89 Conference on Programming Language Design and Implementation, SIGPLAN Notices"},{"key":"e_1_2_1_5_2","volume-title":"Computer Science Technical Report","author":"Murtaugh T. P.","year":"1989"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380190205"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(89)90014-8"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/93542.93551"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/59287.59289"},{"issue":"7","key":"e_1_2_1_10_2","first-page":"246","article-title":"Global register allocation at link\u2010time","volume":"21","author":"Wall D.","year":"1986","journal-title":"Proceedings of the SIGPLAN 86 Symposium on Compiler Construction, SIGPLAN Notices"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/53990.53997"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/321312.321314"},{"key":"e_1_2_1_13_2","first-page":"1","volume-title":"Design and Optimization of a Compiler","author":"Allen F. E.","year":"1972"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/359810.359830"},{"key":"e_1_2_1_15_2","volume-title":"Flow Analysis of Computer Programs","author":"Hecht M.","year":"1977"},{"key":"e_1_2_1_16_2","unstructured":"A. M.Holler A study of the effects of subprogram inlining Ph. D. Dissertation Department of Computer Science University of Virginia August1990."},{"key":"e_1_2_1_17_2","unstructured":"C. A.Huson An in\u2010line subroutine expander for Parafrase M. S. Thesis University of Illinois at Champaign\u2010Urbana Technical Report UIUCDCS\u2010R\u201082\u20131118 December1982."},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/800229.806972"},{"key":"e_1_2_1_19_2","doi-asserted-by":"crossref","unstructured":"M.WegmanandF. K.Zadeck Constant propagation with conditional branches.Conference Record of the 12th Annual ACM Symposium on Principles of Programming Languages January1985 pp.291\u2013299.","DOI":"10.1145\/318593.318659"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1987.1663418"},{"key":"e_1_2_1_21_2","doi-asserted-by":"crossref","unstructured":"W. W.HwuandP. P.Chang Achieving high instruction cache performance with an optimizing compiler Proceedings of the 16th Annual Symposium on Computer Architecture May1989 pp.242\u2013251.","DOI":"10.1145\/74926.74953"},{"key":"e_1_2_1_22_2","unstructured":"M. W.Hall Improving parallelism after inline substitution.Department of Computer Science Technical Report 90\u2013127 Rice University Houston TX August1990."},{"key":"e_1_2_1_23_2","unstructured":"P.Briggs K. D.CooperandL.Torczon Aggressive live range splitting.Department of Computer Science Technical Report 90\u2013146 Rice University Houston TX November1990."},{"key":"e_1_2_1_24_2","unstructured":"P.Briggs K. D.Cooper M. W.HallandL.Torczon Goal\u2010directed interprocedural optimization Department of Computer Science Technical Report 90\u2013147 Rice University Houston TX November1990."},{"key":"e_1_2_1_25_2","unstructured":"R.ConradiandD.Svanaes FORTVER\u2014a tool for documentation and error diagnosis of FORTRAN\u201077 programs University of Trondheim Division of Computer Science Technical Report January1985. (Presented atIFIP WG2.4 meeting Bonn January1985)."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380210604","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380210604","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,23]],"date-time":"2023-10-23T16:54:12Z","timestamp":1698080052000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380210604"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1991,6]]},"references-count":24,"journal-issue":{"issue":"6","published-print":{"date-parts":[[1991,6]]}},"alternative-id":["10.1002\/spe.4380210604"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380210604","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1991,6]]}}}