{"id":"https://openalex.org/W2928669301","doi":"https://doi.org/10.1145/3310232.3310242","title":"Extended Memory Reuse","display_name":"Extended Memory Reuse","publication_year":2018,"publication_date":"2018-09-05","ids":{"openalex":"https://openalex.org/W2928669301","doi":"https://doi.org/10.1145/3310232.3310242","mag":"2928669301"},"language":"en","primary_location":{"id":"doi:10.1145/3310232.3310242","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3310232.3310242","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th Symposium on Implementation and Application of Functional Languages","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3310232.3310242","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5065521098","display_name":"Hans-Nikolai Vie\u00dfmann","orcid":"https://orcid.org/0000-0001-9345-3823"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Hans-Nikolai Vie\u00dfmann","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, UK","institution_ids":["https://openalex.org/I32062511"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5017082458","display_name":"Artjoms \u0160inkarovs","orcid":"https://orcid.org/0000-0003-3292-2985"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Artjoms \u0160inkarovs","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, UK","institution_ids":["https://openalex.org/I32062511"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5032849727","display_name":"Sven\u2010Bodo Scholz","orcid":"https://orcid.org/0000-0002-8663-1043"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Sven-Bodo Scholz","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, UK","institution_ids":["https://openalex.org/I32062511"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I32062511"],"apc_list":null,"apc_paid":null,"fwci":0.7126,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.73393331,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"107","last_page":"118"},"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.9998999834060669,"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.9998999834060669,"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.9994000196456909,"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.9962000250816345,"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/garbage-collection","display_name":"Garbage collection","score":0.8682506680488586},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8365108966827393},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.8060982823371887},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.7501513361930847},{"id":"https://openalex.org/keywords/manual-memory-management","display_name":"Manual memory management","score":0.6771144866943359},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.6262621283531189},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.5961206555366516},{"id":"https://openalex.org/keywords/auxiliary-memory","display_name":"Auxiliary memory","score":0.47398582100868225},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.46052321791648865},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.45994776487350464},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4456595778465271},{"id":"https://openalex.org/keywords/memory-map","display_name":"Memory map","score":0.44529324769973755},{"id":"https://openalex.org/keywords/memory-protection","display_name":"Memory protection","score":0.43789392709732056},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.43788382411003113},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.35597097873687744},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3538404405117035},{"id":"https://openalex.org/keywords/uniform-memory-access","display_name":"Uniform memory access","score":0.28530293703079224},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.27077239751815796},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.1936802864074707},{"id":"https://openalex.org/keywords/semiconductor-memory","display_name":"Semiconductor memory","score":0.15831419825553894}],"concepts":[{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.8682506680488586},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8365108966827393},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.8060982823371887},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.7501513361930847},{"id":"https://openalex.org/C82810778","wikidata":"https://www.wikidata.org/wiki/Q6752316","display_name":"Manual memory management","level":4,"score":0.6771144866943359},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.6262621283531189},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.5961206555366516},{"id":"https://openalex.org/C82687282","wikidata":"https://www.wikidata.org/wiki/Q66221","display_name":"Auxiliary memory","level":2,"score":0.47398582100868225},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.46052321791648865},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.45994776487350464},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4456595778465271},{"id":"https://openalex.org/C74426580","wikidata":"https://www.wikidata.org/wiki/Q719484","display_name":"Memory map","level":3,"score":0.44529324769973755},{"id":"https://openalex.org/C18131444","wikidata":"https://www.wikidata.org/wiki/Q163585","display_name":"Memory protection","level":5,"score":0.43789392709732056},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.43788382411003113},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.35597097873687744},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3538404405117035},{"id":"https://openalex.org/C51290061","wikidata":"https://www.wikidata.org/wiki/Q1936765","display_name":"Uniform memory access","level":4,"score":0.28530293703079224},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.27077239751815796},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.1936802864074707},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.15831419825553894},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3310232.3310242","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3310232.3310242","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th Symposium on Implementation and Application of Functional Languages","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3310232.3310242","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3310232.3310242","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th Symposium on Implementation and Application of Functional Languages","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G600182179","display_name":null,"funder_award_id":"EP/L00058X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6374842700","display_name":null,"funder_award_id":"EP/N028201/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8675054711","display_name":"EPSRC Centre for Doctoral Training in Robotics and Autonomous Systems (RAS) in Edinburgh","funder_award_id":"EP/L016834/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W127995217","https://openalex.org/W1552083324","https://openalex.org/W1986388229","https://openalex.org/W2010138991","https://openalex.org/W2011796182","https://openalex.org/W2032039029","https://openalex.org/W2037622661","https://openalex.org/W2041701365","https://openalex.org/W2050259926","https://openalex.org/W2060960950","https://openalex.org/W2063742843","https://openalex.org/W2080592089","https://openalex.org/W2102604868","https://openalex.org/W2112121929","https://openalex.org/W2118357764","https://openalex.org/W2123776984","https://openalex.org/W2135871090","https://openalex.org/W2158094629","https://openalex.org/W2665868045","https://openalex.org/W4246882253"],"related_works":["https://openalex.org/W2182829270","https://openalex.org/W1967121117","https://openalex.org/W2112832394","https://openalex.org/W31759149","https://openalex.org/W2010367507","https://openalex.org/W4240600268","https://openalex.org/W2020469226","https://openalex.org/W4378895335","https://openalex.org/W4320854924","https://openalex.org/W261562921"],"abstract_inverted_index":{"In":[0],"this":[1],"paper":[2],"we":[3],"present":[4],"an":[5],"optimisation":[6,14],"for":[7,38],"reference":[8,33],"counting":[9],"based":[10],"garbage":[11,48],"collection.":[12,49],"The":[13,50],"aims":[15],"at":[16],"reducing":[17],"the":[18,24,29,36,57,70,89,110],"total":[19],"number":[20],"of":[21,32,59,69,91,94],"calls":[22],"to":[23,54,99],"heap":[25],"manager":[26],"while":[27],"preserving":[28],"key":[30,51],"benefits":[31],"counting,":[34],"i.e.":[35],"opportunities":[37],"in-place":[39],"updates":[40],"as":[41,43],"well":[42],"memory":[44,63,67,79,82,123],"deallocation":[45],"without":[46],"global":[47],"idea":[52],"is":[53],"carefully":[55],"extend":[56],"lifetime":[58],"variables":[60],"so":[61],"that":[62,103,120],"deallocations":[64],"followed":[65],"by":[66,76],"allocations":[68],"same":[71,111],"size":[72],"can":[73],"be":[74,115],"replaced":[75],"a":[77,100],"direct":[78],"reuse.":[80],"Such":[81],"reuse":[83],"turns":[84],"out":[85],"particularly":[86],"useful":[87],"in":[88,109,118],"context":[90],"innermost":[92],"loops":[93],"compute-intensive":[95],"applications.":[96],"It":[97],"leads":[98],"runtime":[101],"behaviour":[102],"performs":[104],"pointer":[105],"swaps":[106],"between":[107],"buffers":[108],"way":[112],"it":[113],"would":[114],"implemented":[116],"manually":[117],"languages":[119],"require":[121],"explicit":[122],"management,":[124],"e.g.":[125],"C.":[126]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2}],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
