{"id":"https://openalex.org/W2300883860","doi":"https://doi.org/10.1145/2892208.2892223","title":"Kindergarten cop: dynamic nursery resizing for GHC","display_name":"Kindergarten cop: dynamic nursery resizing for GHC","publication_year":2016,"publication_date":"2016-03-14","ids":{"openalex":"https://openalex.org/W2300883860","doi":"https://doi.org/10.1145/2892208.2892223","mag":"2300883860"},"language":"en","primary_location":{"id":"doi:10.1145/2892208.2892223","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892208.2892223","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th International Conference on Compiler Construction","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://research-repository.st-andrews.ac.uk/bitstream/10023/8432/1/cc2016.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5072266949","display_name":"Henrique Ferreiro","orcid":null},"institutions":[{"id":"https://openalex.org/I11019714","display_name":"Universidade da Coru\u00f1a","ror":"https://ror.org/01qckj285","country_code":"ES","type":"education","lineage":["https://openalex.org/I11019714"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"Henrique Ferreiro","raw_affiliation_strings":["Universidade da Coru\u00f1a, Spain"],"affiliations":[{"raw_affiliation_string":"Universidade da Coru\u00f1a, Spain","institution_ids":["https://openalex.org/I11019714"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5058853148","display_name":"Laura M. Castro","orcid":"https://orcid.org/0000-0002-3028-1523"},"institutions":[{"id":"https://openalex.org/I11019714","display_name":"Universidade da Coru\u00f1a","ror":"https://ror.org/01qckj285","country_code":"ES","type":"education","lineage":["https://openalex.org/I11019714"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Laura Castro","raw_affiliation_strings":["Universidade da Coru\u00f1a, Spain"],"affiliations":[{"raw_affiliation_string":"Universidade da Coru\u00f1a, Spain","institution_ids":["https://openalex.org/I11019714"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102807884","display_name":"Vladimir Janjic","orcid":"https://orcid.org/0000-0001-5134-9032"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Vladimir Janjic","raw_affiliation_strings":["University of St. Andrews, UK"],"affiliations":[{"raw_affiliation_string":"University of St. Andrews, UK","institution_ids":["https://openalex.org/I16835326"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055787720","display_name":"Kevin Hammond","orcid":"https://orcid.org/0000-0002-4326-4562"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Kevin Hammond","raw_affiliation_strings":["University of St. Andrews, UK"],"affiliations":[{"raw_affiliation_string":"University of St. Andrews, UK","institution_ids":["https://openalex.org/I16835326"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5072266949"],"corresponding_institution_ids":["https://openalex.org/I11019714"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.01635578,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"56","last_page":"66"},"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.9987999796867371,"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/T11424","display_name":"Security and Verification in Computing","score":0.9955000281333923,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8833520412445068},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6511536240577698},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6449076533317566},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.5597133636474609},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.5295487642288208},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.5199059844017029},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.5072338581085205},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.48737603425979614},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.47961506247520447},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.47807931900024414},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.4671686887741089},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.46391549706459045},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.44641411304473877},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.41300588846206665},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.3880671262741089}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8833520412445068},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6511536240577698},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6449076533317566},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.5597133636474609},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.5295487642288208},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.5199059844017029},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.5072338581085205},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.48737603425979614},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.47961506247520447},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.47807931900024414},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.4671686887741089},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.46391549706459045},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.44641411304473877},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.41300588846206665},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3880671262741089},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","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},{"id":"https://openalex.org/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2892208.2892223","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892208.2892223","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th International Conference on Compiler Construction","raw_type":"proceedings-article"},{"id":"pmh:oai:research-repository.st-andrews.ac.uk:10023/8432","is_oa":true,"landing_page_url":"https://hdl.handle.net/10023/8432","pdf_url":"https://research-repository.st-andrews.ac.uk/bitstream/10023/8432/1/cc2016.pdf","source":{"id":"https://openalex.org/S4306400230","display_name":"St Andrews Research Repository (St Andrews Research Repository)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I16835326","host_organization_name":"University of St Andrews","host_organization_lineage":["https://openalex.org/I16835326"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Conference item"},{"id":"pmh:oai:discovery.dundee.ac.uk:openaire_cris_publications/ab7d9749-280c-4ca8-8854-c8a14a0d4567","is_oa":false,"landing_page_url":"https://discovery.dundee.ac.uk/en/publications/ab7d9749-280c-4ca8-8854-c8a14a0d4567","pdf_url":null,"source":{"id":"https://openalex.org/S4306400523","display_name":"Discovery Research Portal (University of Dundee)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I177639307","host_organization_name":"University of Dundee","host_organization_lineage":["https://openalex.org/I177639307"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Ferreiro, H, Castro, L, Janjic, V & Hammond, K 2016, Kindergarten cop : Dynamic nursery resizing for GHC. in Proceedings of CC 2016 : The 25th International Conference on Compiler Construction. Association for Computing Machinery, New York, pp. 56-66, 25th International Conference on Compiler Construction, CC 2016, Barcelona, Spain, 17/03/16. https://doi.org/10.1145/2892208.2892223","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:discovery.dundee.ac.uk:publications/ab7d9749-280c-4ca8-8854-c8a14a0d4567","is_oa":false,"landing_page_url":"http://www.scopus.com/inward/record.url?scp=84966474638&partnerID=8YFLogxK","pdf_url":null,"source":{"id":"https://openalex.org/S4306400523","display_name":"Discovery Research Portal (University of Dundee)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I177639307","host_organization_name":"University of Dundee","host_organization_lineage":["https://openalex.org/I177639307"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Ferreiro, H, Castro, L, Janjic, V & Hammond, K 2016, Kindergarten cop : Dynamic nursery resizing for GHC. in Proceedings of CC 2016 : The 25th International Conference on Compiler Construction. Association for Computing Machinery, New York, pp. 56-66, 25th International Conference on Compiler Construction, CC 2016, Barcelona, Spain, 17/03/16. https://doi.org/10.1145/2892208.2892223","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":{"id":"pmh:oai:research-repository.st-andrews.ac.uk:10023/8432","is_oa":true,"landing_page_url":"https://hdl.handle.net/10023/8432","pdf_url":"https://research-repository.st-andrews.ac.uk/bitstream/10023/8432/1/cc2016.pdf","source":{"id":"https://openalex.org/S4306400230","display_name":"St Andrews Research Repository (St Andrews Research Repository)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I16835326","host_organization_name":"University of St Andrews","host_organization_lineage":["https://openalex.org/I16835326"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Conference item"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2300883860.pdf"},"referenced_works_count":17,"referenced_works":["https://openalex.org/W1534639370","https://openalex.org/W1558109178","https://openalex.org/W1583464938","https://openalex.org/W2014672480","https://openalex.org/W2029185373","https://openalex.org/W2060430166","https://openalex.org/W2061995249","https://openalex.org/W2098298678","https://openalex.org/W2112832394","https://openalex.org/W2116827712","https://openalex.org/W2121783057","https://openalex.org/W2141157907","https://openalex.org/W2147560293","https://openalex.org/W2151958460","https://openalex.org/W2152188429","https://openalex.org/W4247436192","https://openalex.org/W6633311458"],"related_works":["https://openalex.org/W1700460898","https://openalex.org/W1524351898","https://openalex.org/W4297378365","https://openalex.org/W2524496484","https://openalex.org/W1487406077","https://openalex.org/W2147299991","https://openalex.org/W1588734579","https://openalex.org/W4250131244","https://openalex.org/W2148255588","https://openalex.org/W2335513707"],"abstract_inverted_index":{"Generational":[0],"garbage":[1,8,145,201],"collectors":[2,9],"are":[3,34],"among":[4],"the":[5,25,29,46,53,57,74,77,82,89,95,113,142,156,161,175,198,225],"most":[6],"popular":[7],"used":[10],"in":[11,102,155,182,213],"programming":[12],"language":[13,163],"runtime":[14],"systems.":[15],"Their":[16],"performance":[17,83],"is":[18,42,110],"known":[19],"to":[20,44,133,188,196],"depend":[21],"heavily":[22],"on":[23,81,117],"choosing":[24],"appropriate":[26],"size":[27,79],"of":[28,84,97,144,152,186,211,221],"area":[30],"where":[31],"new":[32],"objects":[33],"allocated":[35],"(the":[36],"nursery).":[37],"In":[38,69,174],"imperative":[39,105],"languages,":[40,61],"it":[41],"usual":[43],"make":[45],"nursery":[47,78,128],"as":[48,50],"large":[49,108],"possible,":[51],"within":[52],"limits":[54],"imposed":[55],"by":[56],"heap":[58],"size.":[59],"Functional":[60],"however,":[62],"have":[63],"quite":[64],"different":[65],"memory":[66],"be-":[67],"haviour.":[68],"this":[70],"paper,":[71],"we":[72,121,178],"study":[73],"effect":[75],"that":[76,131],"has":[80],"lazy":[85],"functional":[86,162],"programs,":[87,106],"through":[88],"interplay":[90],"between":[91,137],"cache":[92,139],"locality":[93,140],"and":[94,141,165],"frequency":[96,143],"collections.":[98,146],"We":[99,147],"demonstrate":[100,179],"that,":[101],"contrast":[103],"with":[104],"having":[107],"nurseries":[109],"not":[111],"always":[112],"best":[114,176],"solution.":[115],"Based":[116],"these":[118,153],"re-":[119],"sults,":[120],"propose":[122],"two":[123],"novel":[124],"algorithms":[125,154],"for":[126,160,224],"dynamic":[127],"resiz-":[129],"ing":[130],"aim":[132],"achieve":[134],"a":[135,180,218],"compromise":[136],"good":[138],"present":[148],"an":[149,169,191,209],"implemen-":[150],"tation":[151],"state-of-the-art":[157],"GHC":[158,200,227],"compiler":[159],"Haskell,":[164],"evaluate":[166],"them":[167],"using":[168,197],"exten-":[170],"sive":[171],"benchmark":[172],"suite.":[173],"case,":[177],"reduction":[181],"total":[183],"execution":[184],"times":[185],"up":[187],"88.5%,":[189],"or":[190],"8.7":[192],"overall":[193,214],"speedup,":[194],"compared":[195],"production":[199,226],"collector.":[202],"On":[203],"aver-":[204],"age,":[205],"our":[206],"technique":[207],"gives":[208],"improvement":[210],"9.3%":[212],"perfor-":[215],"mance":[216],"across":[217],"standard":[219],"suite":[220],"63":[222],"benchmarks":[223],"compiler.":[228]},"counts_by_year":[],"updated_date":"2026-03-17T09:09:15.849793","created_date":"2025-10-10T00:00:00"}
