{"id":"https://openalex.org/W2173174116","doi":"https://doi.org/10.1002/cpe.836","title":"Object combining: a new aggressive optimization for object intensive programs","display_name":"Object combining: a new aggressive optimization for object intensive programs","publication_year":2005,"publication_date":"2005-02-22","ids":{"openalex":"https://openalex.org/W2173174116","doi":"https://doi.org/10.1002/cpe.836","mag":"2173174116"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1002/cpe.836","pdf_url":null,"source":{"id":"https://openalex.org/S11065456","display_name":"Concurrency and Computation Practice and Experience","issn_l":"1532-0626","issn":["1532-0626","1532-0634"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"journal-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/I181369854","display_name":"Friedrich-Alexander-Universit\u00e4t Erlangen-N\u00fcrnberg","ror":"https://ror.org/00f7hpc57","country_code":"DE","type":"education","lineage":["https://openalex.org/I181369854"]},{"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":["DE","NL"],"is_corresponding":true,"raw_author_name":"Ronald Veldema","raw_affiliation_strings":["Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands","University of Erlangen-Nuremberg, Computer Science II, Informatik II, Martensstrasse 3, 91058 Erlangen, Germany"],"affiliations":[{"raw_affiliation_string":"University of Erlangen-Nuremberg, Computer Science II, Informatik II, Martensstrasse 3, 91058 Erlangen, Germany","institution_ids":["https://openalex.org/I181369854"]},{"raw_affiliation_string":"Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062080086","display_name":"Ceriel J. H. Jacobs","orcid":"https://orcid.org/0000-0002-4692-7245"},"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":"Ceriel J. H. Jacobs","raw_affiliation_strings":["Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029367717","display_name":"Rutger F. H. Hofman","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":"Rutger F. H. Hofman","raw_affiliation_strings":["Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055231636","display_name":"Henri E. Bal","orcid":"https://orcid.org/0000-0001-9827-4461"},"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":"Henri E. Bal","raw_affiliation_strings":["Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I865915315"]}]}],"institution_assertions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5040813018"],"corresponding_institution_ids":["https://openalex.org/I181369854","https://openalex.org/I865915315"],"apc_list":{"value":4740,"currency":"USD","value_usd":4740,"provenance":"doaj"},"apc_paid":null,"fwci":1.877,"has_fulltext":true,"fulltext_origin":"ngrams","cited_by_count":9,"citation_normalized_percentile":{"value":0.770565,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":80,"max":81},"biblio":{"volume":"17","issue":"5-6","first_page":"439","last_page":"464"},"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.9992,"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.9954,"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/allocator","display_name":"Allocator","score":0.5234368},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.4670348}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8372323},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.7943231},{"id":"https://openalex.org/C512554520","wikidata":"https://www.wikidata.org/wiki/Q815844","display_name":"Method","level":3,"score":0.6958548},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.58372253},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5744938},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.52574766},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.5234368},{"id":"https://openalex.org/C154526789","wikidata":"https://www.wikidata.org/wiki/Q157965","display_name":"Object code","level":4,"score":0.4890183},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.46852726},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.46787903},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.4670348},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.45302412},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.43476102},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.42768687},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.41278026},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.3781801},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.21979037},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.21945933},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.21310788},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1702958},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1002/cpe.836","pdf_url":null,"source":{"id":"https://openalex.org/S11065456","display_name":"Concurrency and Computation Practice and Experience","issn_l":"1532-0626","issn":["1532-0626","1532-0634"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"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":18,"referenced_works":["https://openalex.org/W131348805","https://openalex.org/W1498914194","https://openalex.org/W1967716562","https://openalex.org/W1974608873","https://openalex.org/W1996094959","https://openalex.org/W2010459485","https://openalex.org/W2014530617","https://openalex.org/W2038198320","https://openalex.org/W2050206430","https://openalex.org/W2076090418","https://openalex.org/W2077850509","https://openalex.org/W2087466192","https://openalex.org/W2101462267","https://openalex.org/W2112980698","https://openalex.org/W2114012357","https://openalex.org/W2167601585","https://openalex.org/W3006817828","https://openalex.org/W4248688267"],"related_works":["https://openalex.org/W4252124899","https://openalex.org/W3022541129","https://openalex.org/W2584932762","https://openalex.org/W2512099864","https://openalex.org/W2168366830","https://openalex.org/W2167102554","https://openalex.org/W2146707680","https://openalex.org/W2108345846","https://openalex.org/W2084497171","https://openalex.org/W1842317227"],"abstract_inverted_index":{"Abstract":[0],"Object":[1,36,87,99],"combining":[2,37,100,143,224],"tries":[3],"to":[4,17,25,46,75,106,149,187,197,199,210,254,259,269],"put":[5],"objects":[6,54,68,148,173],"together":[7,178],"that":[8,174],"have":[9],"roughly":[10],"the":[11,21,27,41,92,95,102,112,194,241],"same":[12],"life":[13],"times":[14],"in":[15,104,117,136,225],"order":[16],"reduce":[18,26],"strain":[19],"on":[20,229],"memory":[22,248],"manager":[23],"and":[24,50,133,172,192,240],"number":[28,242],"of":[29,43,52,111,222,243,247],"pointer":[30,74,93,103,113],"indirections":[31],"during":[32],"a":[33,56,72,118,157,170,200,207],"program's":[34],"execution.":[35],"works":[38,80],"by":[39,94,234,257,267],"appending":[40],"fields":[42],"one":[44,70],"object":[45,61,125,142,223,231,244],"another,":[47,76],"allowing":[48],"allocation":[49],"freeing":[51],"multiple":[53],"with":[55],"single":[57],"heap":[58],"(de)allocation.":[59],"Unlike":[60,123],"inlining":[62,88,126],",":[63],"which":[64],"will":[65,216],"only":[66],"optimize":[67],"where":[69],"has":[71],"(unique)":[73],"our":[77],"optimization":[78,121],"also":[79,89,145],"if":[81],"there":[82],"is":[83,115,228],"no":[84],"such":[85],"relation.":[86],"directly":[90],"replaces":[91],"inlined":[96],"object's":[97],"fields.":[98],"leaves":[101],"place":[105],"allow":[107,146],"more":[108,138],"combining.":[109],"Elimination":[110],"accesses":[114],"implemented":[116],"separate":[119],"compiler":[120],"pass.":[122],"previous":[124],"systems,":[127],"reference":[128],"field":[129],"overwrites":[130],"are":[131,175],"allowed":[132],"handled,":[134],"resulting":[135],"much":[137],"aggressive":[139],"optimization.":[140],"Our":[141],"heuristics":[144],"unrelated":[147],"be":[150,166,180,188,255],"combined,":[151],"for":[152],"example,":[153],"those":[154],"allocated":[155,167],"inside":[156],"loop;":[158],"recursive":[159],"data":[160],"structures":[161],"(linked":[162],"lists,":[163],"trees)":[164],"can":[165,179],"several":[168],"at":[169,190],"time":[171,253,266],"always":[176],"used":[177],"combined.":[181],"As":[182],"Java":[183],"explicitly":[184],"permits":[185],"code":[186,196],"loaded":[189],"runtime":[191],"allows":[193],"new":[195],"contribute":[198],"running":[201],"computation,":[202],"we":[203],"do":[204],"not":[205],"require":[206],"closed\u2010world":[208],"assumption":[209],"enable":[211],"these":[212],"optimizations":[213],"(but":[214],"it":[215],"increase":[217],"performance).":[218],"The":[219],"main":[220],"focus":[221],"this":[226],"paper":[227],"reducing":[230,235],"(de)allocation":[232],"overhead,":[233],"both":[236],"garbage":[237],"collection":[238],"work":[239],"allocations.":[245],"Reduction":[246],"management":[249],"overhead":[250],"causes":[251],"execution":[252,265],"reduced":[256],"up":[258,268],"35%.":[260],"Indirection":[261],"removal":[262],"further":[263],"reduces":[264],"6%.":[270],"Copyright":[271],"\u00a9":[272],"2005":[273],"John":[274],"Wiley":[275],"&":[276],"Sons,":[277],"Ltd.":[278]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2173174116","counts_by_year":[{"year":2014,"cited_by_count":1}],"updated_date":"2024-12-17T12:19:48.706002","created_date":"2016-06-24"}