{"id":"https://openalex.org/W2100613797","doi":"https://doi.org/10.1145/583810.583829","title":"Object combining","display_name":"Object combining","publication_year":2002,"publication_date":"2002-11-03","ids":{"openalex":"https://openalex.org/W2100613797","doi":"https://doi.org/10.1145/583810.583829","mag":"2100613797"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/583810.583829","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-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/A5040813018","display_name":"Ronald Veldema","orcid":null},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Ronald Veldema","raw_affiliation_strings":["Vrije Universiteit, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012645513","display_name":"J. H. Ceriel","orcid":null},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"J. H. Ceriel","raw_affiliation_strings":["Vrije Universiteit, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5091864379","display_name":"F. H. Rutger","orcid":null},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"F. H. Rutger","raw_affiliation_strings":["Vrije Universiteit, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5091658187","display_name":"E. Henri","orcid":null},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"E. Henri","raw_affiliation_strings":["Vrije Universiteit, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.245,"has_fulltext":true,"fulltext_origin":"ngrams","cited_by_count":9,"citation_normalized_percentile":{"value":0.761897,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":79,"max":80},"biblio":{"volume":null,"issue":null,"first_page":"165","last_page":"174"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998,"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.9998,"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.998,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9939,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/heuristics","display_name":"Heuristics","score":0.5053049},{"id":"https://openalex.org/keywords/indirection","display_name":"Indirection","score":0.4962378},{"id":"https://openalex.org/keywords/pointer-analysis","display_name":"Pointer analysis","score":0.49129075},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.44918475},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.42440453}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8420149},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.73828685},{"id":"https://openalex.org/C512554520","wikidata":"https://www.wikidata.org/wiki/Q815844","display_name":"Method","level":3,"score":0.6173563},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.598281},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.50767744},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.5053049},{"id":"https://openalex.org/C89377073","wikidata":"https://www.wikidata.org/wiki/Q1171224","display_name":"Indirection","level":2,"score":0.4962378},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.49129075},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4718252},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.4684959},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.44918475},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.42440453},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.42386484},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.38748887},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.37797356},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.33900803},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.25036436},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.23424855},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18926501},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.07834396},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/583810.583829","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":16,"referenced_works":["https://openalex.org/W131348805","https://openalex.org/W1967716562","https://openalex.org/W1996094959","https://openalex.org/W2010459485","https://openalex.org/W2014530617","https://openalex.org/W2038198320","https://openalex.org/W2054675073","https://openalex.org/W2076090418","https://openalex.org/W2077850509","https://openalex.org/W2087466192","https://openalex.org/W2101462267","https://openalex.org/W2111069040","https://openalex.org/W2112980698","https://openalex.org/W2114012357","https://openalex.org/W2167601585","https://openalex.org/W4301666354"],"related_works":["https://openalex.org/W4297797072","https://openalex.org/W4252124899","https://openalex.org/W3008864649","https://openalex.org/W2797886673","https://openalex.org/W2584932762","https://openalex.org/W2512099864","https://openalex.org/W2167102554","https://openalex.org/W2146707680","https://openalex.org/W2100613797","https://openalex.org/W2084497171"],"abstract_inverted_index":{"Object":[0,35,85,97],"combining":[1,36,98,140,183],"tries":[2],"to":[3,16,24,45,73,104,146,213,218,228],"put":[4],"objects":[5,53,66,145,170],"together":[6,175],"that":[7,171],"have":[8],"roughly":[9],"the":[10,20,26,40,90,93,100,110,200],"same":[11],"life":[12],"times":[13],"in":[14,102,115,133,184],"order":[15],"reduce":[17,25],"strain":[18],"on":[19,188],"memory":[21,207],"manager":[22],"and":[23,49,130,169,199],"number":[27,201],"of":[28,42,51,109,181,202,206],"pointer":[29,72,91,101,111],"indirections":[30],"during":[31],"a":[32,55,70,116,154,167],"program's":[33],"execution.":[34],"works":[37,78],"by":[38,92,193,216,226],"appending":[39],"fields":[41],"one":[43,68],"object":[44,60,122,139,182,190,203],"another,":[46,74],"allowing":[47],"allocation":[48],"freeing":[50],"multiple":[52],"with":[54],"single":[56],"heap":[57],"(de)allocation.":[58],"Unlike":[59],"inlining,":[61],"which":[62],"will":[63],"only":[64],"optimize":[65],"where":[67],"has":[69],"(unique)":[71],"our":[75],"optimization":[76,119],"also":[77,87,142],"if":[79],"there":[80],"is":[81,113,187],"no":[82],"such":[83],"relation.":[84],"inlining":[86,123],"directly":[88],"replaces":[89],"inlined":[94],"object's":[95],"fields.":[96],"leaves":[99],"place":[103],"allow":[105,143],"more":[106,135],"combining.":[107],"Elimination":[108],"accesses":[112],"implemented":[114],"separate":[117],"compiler":[118],"pass.Unlike":[120],"previous":[121],"systems,":[124],"reference":[125],"field":[126],"overwrites":[127],"are":[128,172],"allowed":[129],"handled,":[131],"resulting":[132],"much":[134],"aggressive":[136],"optimization.":[137],"Our":[138],"heuristics":[141],"unrelated":[144],"be":[147,163,177,214],"combined,":[148],"for":[149],"example":[150],"those":[151],"allocated":[152,164],"inside":[153],"loop;":[155],"recursive":[156],"data":[157],"structures":[158],"(linked":[159],"lists,":[160],"trees)":[161],"can":[162,176],"several":[165],"at":[166],"time":[168,212,225],"always":[173],"used":[174],"combined.The":[178],"main":[179],"focus":[180],"this":[185],"paper":[186],"reducing":[189,194],"(de)allocation":[191],"overhead,":[192],"both":[195],"garbage":[196],"collection":[197],"work":[198],"allocations.":[204],"Reduction":[205],"management":[208],"overhead":[209],"causes":[210],"execution":[211,224],"reduced":[215],"up":[217,227],"35%.":[219],"Indirection":[220],"removal":[221],"further":[222],"reduces":[223],"6%.":[229]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2100613797","counts_by_year":[{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1}],"updated_date":"2024-12-14T04:56:57.580035","created_date":"2016-06-24"}