{"id":"https://openalex.org/W4239568094","doi":"https://doi.org/10.1145/1640089.1640121","title":"Minimizing dependencies within generic classes for faster and smaller programs","display_name":"Minimizing dependencies within generic classes for faster and smaller programs","publication_year":2009,"publication_date":"2009-10-25","ids":{"openalex":"https://openalex.org/W4239568094","doi":"https://doi.org/10.1145/1640089.1640121"},"language":"en","primary_location":{"id":"doi:10.1145/1640089.1640121","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1640089.1640121","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5079290490","display_name":"Dan Tsafrir","orcid":"https://orcid.org/0000-0002-9242-3144"},"institutions":[{"id":"https://openalex.org/I4210114115","display_name":"IBM Research - Thomas J. Watson Research Center","ror":"https://ror.org/0265w5591","country_code":"US","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Dan Tsafrir","raw_affiliation_strings":["IBM T.J. Watson Research Center, Yorktown Heights, NY, USA"],"affiliations":[{"raw_affiliation_string":"IBM T.J. Watson Research Center, Yorktown Heights, NY, USA","institution_ids":["https://openalex.org/I4210114115"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026582805","display_name":"Robert W. Wisniewski","orcid":"https://orcid.org/0000-0001-7393-0813"},"institutions":[{"id":"https://openalex.org/I4210114115","display_name":"IBM Research - Thomas J. Watson Research Center","ror":"https://ror.org/0265w5591","country_code":"US","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Robert W. Wisniewski","raw_affiliation_strings":["IBM T.J. Watson Research Center, Yorktown Heights, NY, USA"],"affiliations":[{"raw_affiliation_string":"IBM T.J. Watson Research Center, Yorktown Heights, NY, USA","institution_ids":["https://openalex.org/I4210114115"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033485201","display_name":"David F. Bacon","orcid":null},"institutions":[{"id":"https://openalex.org/I4210114115","display_name":"IBM Research - Thomas J. Watson Research Center","ror":"https://ror.org/0265w5591","country_code":"US","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David F. Bacon","raw_affiliation_strings":["IBM T.J. Watson Research Center, Yorktown Heights, NY, USA"],"affiliations":[{"raw_affiliation_string":"IBM T.J. Watson Research Center, Yorktown Heights, NY, USA","institution_ids":["https://openalex.org/I4210114115"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109807287","display_name":"Bjarne Stroustrup","orcid":null},"institutions":[{"id":"https://openalex.org/I91045830","display_name":"Texas A&M University","ror":"https://ror.org/01f5ytq51","country_code":"US","type":"education","lineage":["https://openalex.org/I91045830"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Bjarne Stroustrup","raw_affiliation_strings":["Texas A&amp;M University, College Station, TX, USA"],"affiliations":[{"raw_affiliation_string":"Texas A&amp;M University, College Station, TX, USA","institution_ids":["https://openalex.org/I91045830"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5079290490"],"corresponding_institution_ids":["https://openalex.org/I4210114115"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.26371799,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"425","last_page":"444"},"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.9993000030517578,"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.9993000030517578,"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.9993000030517578,"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/T10260","display_name":"Software Engineering Research","score":0.991599977016449,"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/compile-time","display_name":"Compile time","score":0.8403202295303345},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8257237672805786},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8154128789901733},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7250461578369141},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.7157691121101379},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.47999638319015503},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.4564608931541443},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.44329091906547546},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.43520236015319824},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4186709225177765},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3767874836921692},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13343176245689392}],"concepts":[{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.8403202295303345},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8257237672805786},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8154128789901733},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7250461578369141},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.7157691121101379},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.47999638319015503},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.4564608931541443},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.44329091906547546},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.43520236015319824},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4186709225177765},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3767874836921692},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13343176245689392},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1640089.1640121","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1640089.1640121","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":42,"referenced_works":["https://openalex.org/W432778792","https://openalex.org/W1488796600","https://openalex.org/W1511597821","https://openalex.org/W1649645444","https://openalex.org/W1985515506","https://openalex.org/W1995743905","https://openalex.org/W2008311123","https://openalex.org/W2010458509","https://openalex.org/W2022911909","https://openalex.org/W2029360780","https://openalex.org/W2045903735","https://openalex.org/W2047576169","https://openalex.org/W2051600169","https://openalex.org/W2063477581","https://openalex.org/W2067310734","https://openalex.org/W2068465106","https://openalex.org/W2074787600","https://openalex.org/W2083646902","https://openalex.org/W2093760065","https://openalex.org/W2095390121","https://openalex.org/W2103816232","https://openalex.org/W2111451064","https://openalex.org/W2112168774","https://openalex.org/W2112393653","https://openalex.org/W2116616150","https://openalex.org/W2120542827","https://openalex.org/W2120808438","https://openalex.org/W2127714911","https://openalex.org/W2139250332","https://openalex.org/W2159430067","https://openalex.org/W2163488242","https://openalex.org/W2167196718","https://openalex.org/W2167651816","https://openalex.org/W2168374629","https://openalex.org/W2168938117","https://openalex.org/W4231640297","https://openalex.org/W4243305730","https://openalex.org/W4246219036","https://openalex.org/W4246430693","https://openalex.org/W4248649658","https://openalex.org/W6638015086","https://openalex.org/W6679006494"],"related_works":["https://openalex.org/W2165519938","https://openalex.org/W4239568094","https://openalex.org/W3082173509","https://openalex.org/W2114428527","https://openalex.org/W1985515506","https://openalex.org/W2110317952","https://openalex.org/W2157542459","https://openalex.org/W2541817194","https://openalex.org/W3014668873","https://openalex.org/W2886887129"],"abstract_inverted_index":{"Generic":[0],"classes":[1],"can":[2],"be":[3,42,154],"used":[4],"to":[5,63,74,90,113,134,142,156,181],"improve":[6],"performance":[7],"by":[8],"allowing":[9],"compile-time":[10,16,88],"polymorphism.":[11],"But":[12],"the":[13,29,49,68,81,85,158,162],"applicability":[14,86],"of":[15,22,79,87,94,164],"polymorphism":[17,89],"is":[18,98,140],"narrower":[19],"than":[20],"that":[21,47,83,103,147],"runtime":[23],"polymorphism,":[24],"and":[25,57,70,106,117,119,124,137,166,186],"it":[26],"might":[27],"bloat":[28,69],"object":[30,127],"code.":[31],"We":[32,109,145],"advocate":[33],"a":[34,38,45,75,91,100],"programming":[35,101,191],"principle":[36,65,160],"whereby":[37],"generic":[39,59,149,190],"class":[40],"should":[41,153],"implemented":[43],"in":[44,126,161],"way":[46],"minimizes":[48],"dependencies":[50],"between":[51],"its":[52,58],"members":[53],"(nested":[54],"types,":[55],"methods)":[56],"type":[60],"parameters.":[61],"Conforming":[62],"this":[64],"(1)":[66],"reduces":[67],"(2)":[71],"gives":[72],"rise":[73],"previously":[76],"unconceived":[77],"manner":[78],"using":[80],"language":[82],"expands":[84],"wider":[92],"range":[93],"problems.":[95],"Our":[96,178],"contribution":[97],"thus":[99],"technique":[102],"generates":[104],"faster":[105,136],"smaller":[107],"programs.":[108],"apply":[110,180],"our":[111],"ideas":[112],"GCC's":[114],"STL":[115,138],"containers":[116],"iterators,":[118],"we":[120],"demonstrate":[121],"notable":[122],"speedups":[123],"reduction":[125],"code":[128,139],"size":[129],"(real":[130],"application":[131],"runs":[132],"1.2x":[133],"2.1x":[135],"1x":[141],"25x":[143],"smaller).":[144],"conclude":[146],"standard":[148],"APIs":[150],"(like":[151],"STL)":[152],"amended":[155],"reflect":[157],"proposed":[159],"interest":[163],"efficiency":[165],"compactness.":[167],"Such":[168],"modifications":[169],"will":[170],"not":[171],"break":[172],"old":[173],"code,":[174],"simply":[175],"increase":[176],"flexibility.":[177],"findings":[179],"languages":[182],"like":[183],"C++,":[184],"C#,":[185],"D,":[187],"which":[188],"realize":[189],"through":[192],"multiple":[193],"instantiations.":[194]},"counts_by_year":[{"year":2013,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
