{"id":"https://openalex.org/W4214617101","doi":"https://doi.org/10.1145/3503222.3507744","title":"Understanding and exploiting optimal function inlining","display_name":"Understanding and exploiting optimal function inlining","publication_year":2022,"publication_date":"2022-02-22","ids":{"openalex":"https://openalex.org/W4214617101","doi":"https://doi.org/10.1145/3503222.3507744"},"language":"en","primary_location":{"id":"doi:10.1145/3503222.3507744","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3503222.3507744","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.research.ed.ac.uk/en/publications/cd4d1fd3-1c31-4ead-90ec-a56c346232e9","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5023299580","display_name":"Theodoros Theodoridis","orcid":"https://orcid.org/0000-0002-0896-9997"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Theodoros Theodoridis","raw_affiliation_strings":["ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055618037","display_name":"Tobias Grosser","orcid":"https://orcid.org/0000-0003-3874-6003"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Tobias Grosser","raw_affiliation_strings":["University of Edinburgh, UK"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5077610917","display_name":"Zhendong Su","orcid":"https://orcid.org/0000-0002-2970-1391"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Zhendong Su","raw_affiliation_strings":["ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5023299580"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":4.6461,"has_fulltext":false,"cited_by_count":21,"citation_normalized_percentile":{"value":0.95672642,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"977","last_page":"989"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9969000220298767,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10101","display_name":"Cloud Computing and Resource Management","score":0.9932000041007996,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8989241719245911},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7900099754333496},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6977770328521729},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.5292869210243225},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5213402509689331},{"id":"https://openalex.org/keywords/metric","display_name":"Metric (unit)","score":0.470478355884552},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4608881175518036},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.4190792739391327},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.34862327575683594},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1389431655406952}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8989241719245911},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7900099754333496},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6977770328521729},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.5292869210243225},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5213402509689331},{"id":"https://openalex.org/C176217482","wikidata":"https://www.wikidata.org/wiki/Q860554","display_name":"Metric (unit)","level":2,"score":0.470478355884552},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4608881175518036},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.4190792739391327},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.34862327575683594},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1389431655406952},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3503222.3507744","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3503222.3507744","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/cd4d1fd3-1c31-4ead-90ec-a56c346232e9","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/cd4d1fd3-1c31-4ead-90ec-a56c346232e9","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Theodoridis, T, Grosser, T & Su, Z 2022, Understanding and Exploiting Optimal Function Inlining. in B Falsafi, M Ferdman, S Lu & T Wenisch (eds), Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. ASPLOS 2022, New York, NY, USA, pp. 977\u2013989, 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Lausanne, Switzerland, 28/02/22. https://doi.org/10.1145/3503222.3507744","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.ed.ac.uk:publications/cd4d1fd3-1c31-4ead-90ec-a56c346232e9","is_oa":false,"landing_page_url":"http://hdl.handle.net/20.500.11820/cd4d1fd3-1c31-4ead-90ec-a56c346232e9","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:openaire/cd4d1fd3-1c31-4ead-90ec-a56c346232e9","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/cd4d1fd3-1c31-4ead-90ec-a56c346232e9","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Theodoridis, T, Grosser, T & Su, Z 2022, Understanding and Exploiting Optimal Function Inlining. in B Falsafi, M Ferdman, S Lu & T Wenisch (eds), Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. ASPLOS 2022, New York, NY, USA, pp. 977\u2013989, 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Lausanne, Switzerland, 28/02/22. https://doi.org/10.1145/3503222.3507744","raw_type":"contributionToPeriodical"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1581581269","https://openalex.org/W2003164052","https://openalex.org/W2006966804","https://openalex.org/W2008438324","https://openalex.org/W2022554539","https://openalex.org/W2024988162","https://openalex.org/W2058614217","https://openalex.org/W2086286886","https://openalex.org/W2096921488","https://openalex.org/W2104283600","https://openalex.org/W2128030601","https://openalex.org/W2133128124","https://openalex.org/W2156487548","https://openalex.org/W2169361939","https://openalex.org/W2625141509","https://openalex.org/W2922037604","https://openalex.org/W3137688009","https://openalex.org/W4242589468"],"related_works":["https://openalex.org/W2002505081","https://openalex.org/W2083681681","https://openalex.org/W2577630842","https://openalex.org/W1172579163","https://openalex.org/W1488300410","https://openalex.org/W2138790427","https://openalex.org/W3146558274","https://openalex.org/W4246454774","https://openalex.org/W2162051035","https://openalex.org/W1597127505"],"abstract_inverted_index":{"Inlining":[0],"is":[1,48,59,98,258],"a":[2,10,161,198],"core":[3],"transformation":[4],"in":[5,168],"optimizing":[6,174],"compilers.":[7],"It":[8,23],"replaces":[9],"function":[11,21,26],"call":[12,27],"(call":[13],"site)":[14],"with":[15,64],"the":[16,19,65,68,92,108,111,127,136,165,207,210,224,233,241],"body":[17],"of":[18,40,67,110,123,183,209,227,236,243,259],"called":[20],"(callee).":[22],"helps":[24],"reduce":[25],"overhead":[28],"and":[29,32,83,102,106,146,170,230,252],"binary":[30,176],"size,":[31,177],"more":[33],"importantly,":[34],"enables":[35],"other":[36],"optimizations.":[37],"The":[38],"problem":[39],"inlining":[41,55,81,94,97,125,137,153,172,204,246],"has":[42,73,84],"been":[43],"extensively":[44],"studied,":[45],"but":[46],"it":[47],"far":[49],"from":[50],"being":[51],"solved;":[52],"predicting":[53],"which":[54],"decisions":[56,82],"are":[57],"beneficial":[58],"nontrivial":[60],"due":[61],"to":[62,144,149,187,218],"interactions":[63],"rest":[66],"compiler":[69],"pipeline.":[70],"Previous":[71],"work":[72,239],"mainly":[74],"focused":[75],"on":[76,155,214,220,223,232],"designing":[77],"heuristics":[78],"for":[79,100,175,203],"better":[80],"not":[85],"investigated":[86],"optimal":[87,93,124,171,245],"inlining,":[88],"i.e.,":[89],"exhaustively":[90,150],"finding":[91],"decisions.":[95],"Optimal":[96],"necessary":[99],"identifying":[101],"exploiting":[103],"missed":[104],"opportunities":[105],"evaluating":[107],"state":[109,208],"art.":[112],"This":[113,238],"paper":[114],"fills":[115],"this":[116],"gap":[117,163],"through":[118],"an":[119,178,253],"extensive":[120],"empirical":[121],"analysis":[122],"using":[126],"SPEC2017":[128,157],"benchmark":[129],"suite.":[130],"Our":[131],"novel":[132],"formulation":[133],"drastically":[134],"reduces":[135],"search":[138],"space":[139],"size":[140],"(from":[141],"2349":[142],"down":[143],"225)":[145],"allows":[147],"us":[148],"evaluate":[151],"all":[152],"choices":[154],"1,135":[156],"files.":[158],"We":[159],"show":[160],"significant":[162],"between":[164],"state-of-the-art":[166],"strategy":[167,202,256],"LLVM":[169,228],"when":[173],"important,":[179],"deterministic":[180],"metric":[181],"independent":[182],"workload":[184],"(in":[185],"contrast":[186],"performance,":[188],"another":[189],"important":[190],"metric).":[191],"Inspired":[192],"by":[193,212,247],"our":[194],"analysis,":[195],"we":[196],"introduce":[197],"simple,":[199],"effective":[200,254],"autotuning":[201,255],"that":[205,257],"outperforms":[206],"art":[211],"7%":[213],"average":[215],"(and":[216],"up":[217],"28%)":[219],"SPEC2017,":[221],"15%":[222],"source":[225,234],"code":[226,235],"itself,":[229],"10%":[231],"SQLite.":[237],"highlights":[240],"importance":[242],"exploring":[244],"providing":[248],"new,":[249],"actionable":[250],"insight":[251],"practical":[260],"utility.":[261]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":10},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3}],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2025-10-10T00:00:00"}
