{"id":"https://openalex.org/W2062349224","doi":"https://doi.org/10.1145/2814270.2814312","title":"Optimizing hash-array mapped tries for fast and lean immutable JVM collections","display_name":"Optimizing hash-array mapped tries for fast and lean immutable JVM collections","publication_year":2015,"publication_date":"2015-10-23","ids":{"openalex":"https://openalex.org/W2062349224","doi":"https://doi.org/10.1145/2814270.2814312","mag":"2062349224"},"language":"en","primary_location":{"id":"doi:10.1145/2814270.2814312","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814270.2814312","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://ir.cwi.nl/pub/24029/24029B.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5031921941","display_name":"Michael J. Steindorfer","orcid":null},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"facility","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Michael J. Steindorfer","raw_affiliation_strings":["CWI, Netherlands","Centrum Wiskunde & Informatica"],"affiliations":[{"raw_affiliation_string":"CWI, Netherlands","institution_ids":["https://openalex.org/I1341640284"]},{"raw_affiliation_string":"Centrum Wiskunde & Informatica","institution_ids":["https://openalex.org/I1341640284"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074526787","display_name":"Jurgen Vinju","orcid":"https://orcid.org/0000-0002-2686-7409"},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"facility","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Jurgen J. Vinju","raw_affiliation_strings":["CWI, Netherlands","Centrum Wiskunde & Informatica","Analysis and Transformation based on rEliAble tool coMpositionS"],"affiliations":[{"raw_affiliation_string":"CWI, Netherlands","institution_ids":["https://openalex.org/I1341640284"]},{"raw_affiliation_string":"Centrum Wiskunde & Informatica","institution_ids":["https://openalex.org/I1341640284"]},{"raw_affiliation_string":"Analysis and Transformation based on rEliAble tool coMpositionS","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5031921941"],"corresponding_institution_ids":["https://openalex.org/I1341640284"],"apc_list":null,"apc_paid":null,"fwci":5.2475,"has_fulltext":true,"cited_by_count":23,"citation_normalized_percentile":{"value":0.95760911,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"783","last_page":"800"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9976999759674072,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9976999759674072,"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"}},{"id":"https://openalex.org/T12288","display_name":"Optimization and Search Problems","score":0.9965999722480774,"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"}},{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9951000213623047,"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.7814980745315552},{"id":"https://openalex.org/keywords/hash-function","display_name":"Hash function","score":0.6849151253700256},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4364365041255951},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.40900203585624695},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3537372946739197}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7814980745315552},{"id":"https://openalex.org/C99138194","wikidata":"https://www.wikidata.org/wiki/Q183427","display_name":"Hash function","level":2,"score":0.6849151253700256},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4364365041255951},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.40900203585624695},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3537372946739197}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/2814270.2814312","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814270.2814312","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"},{"id":"pmh:cwi:oai:cwi.nl:24029","is_oa":true,"landing_page_url":"https://ir.cwi.nl/pub/24029","pdf_url":"https://ir.cwi.nl/pub/24029/24029B.pdf","source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM SIGPLAN Notices, 50(10), 783 - 800","raw_type":"info:eu-repo/semantics/conferencepaper"},{"id":"pmh:906504","is_oa":false,"landing_page_url":"http://library.tue.nl/csp/dare/LinkToRepository.csp?recordnumber=906504","pdf_url":null,"source":{"id":"https://openalex.org/S4406923046","display_name":"TU/e Research Portal (Eindhoven University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},{"id":"pmh:oai:HAL:hal-01261487v1","is_oa":false,"landing_page_url":"https://inria.hal.science/hal-01261487","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2015, New York, United States. pp.783--800, &#x27E8;10.1145/2814270.2814312&#x27E9;","raw_type":"Conference papers"},{"id":"pmh:oai:library.tue.nl:906504","is_oa":false,"landing_page_url":"http://repository.tue.nl/906504","pdf_url":null,"source":{"id":"https://openalex.org/S4406923046","display_name":"TU/e Research Portal (Eindhoven University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:cwi:oai:cwi.nl:24029","is_oa":true,"landing_page_url":"https://ir.cwi.nl/pub/24029","pdf_url":"https://ir.cwi.nl/pub/24029/24029B.pdf","source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM SIGPLAN Notices, 50(10), 783 - 800","raw_type":"info:eu-repo/semantics/conferencepaper"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2062349224.pdf","grobid_xml":"https://content.openalex.org/works/W2062349224.grobid-xml"},"referenced_works_count":30,"referenced_works":["https://openalex.org/W321635797","https://openalex.org/W1491178396","https://openalex.org/W1497812785","https://openalex.org/W1500250067","https://openalex.org/W1526736056","https://openalex.org/W1541501107","https://openalex.org/W1595761884","https://openalex.org/W1628797434","https://openalex.org/W1660714679","https://openalex.org/W1919739679","https://openalex.org/W1947321792","https://openalex.org/W2004531690","https://openalex.org/W2011297770","https://openalex.org/W2016995838","https://openalex.org/W2036610497","https://openalex.org/W2041364386","https://openalex.org/W2056721518","https://openalex.org/W2060771324","https://openalex.org/W2092911542","https://openalex.org/W2096498462","https://openalex.org/W2101857770","https://openalex.org/W2104789737","https://openalex.org/W2105045857","https://openalex.org/W2111112894","https://openalex.org/W2130235146","https://openalex.org/W2142947709","https://openalex.org/W2150566739","https://openalex.org/W2181305810","https://openalex.org/W2337480916","https://openalex.org/W2404198790"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W4391913857","https://openalex.org/W2358668433","https://openalex.org/W4396701345","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W4396696052"],"abstract_inverted_index":{"The":[0,23,116],"data":[1,43,94,134],"structures":[2,44],"under-pinning":[3],"collection":[4,42],"API":[5],"(e.g.":[6],"lists,":[7],"sets,":[8],"maps)":[9],"in":[10,20,89,137],"the":[11,72,103,108],"standard":[12,24],"libraries":[13,25],"of":[14,26,75,111,139,145],"programming":[15],"languages":[16],"are":[17,46],"used":[18],"intensively":[19],"many":[21],"applications.":[22],"recent":[27],"Java":[28],"Virtual":[29],"Machine":[30],"languages,":[31],"such":[32],"as":[33,48],"Clojure":[34],"or":[35],"Scala,":[36],"contain":[37],"scalable":[38],"and":[39,59,71,77,114,124,132,142,148],"well-performing":[40],"immutable":[41,112],"that":[45,106],"implemented":[47],"Hash-Array":[49],"Mapped":[50],"Tries":[51],"(HAMTs).":[52],"HAMTs":[53],"already":[54],"feature":[55],"efficient":[56],"lookup,":[57],"insert,":[58],"delete":[60],"operations,":[61],"however":[62],"due":[63],"to":[64,102],"their":[65,68,87],"tree-based":[66],"nature":[67],"memory":[69,140],"footprints":[70],"runtime":[73,143],"performance":[74,110],"iteration":[76,146],"equality":[78,149],"checking":[79,150],"lag":[80],"behind":[81],"array-based":[82],"counterparts.":[83],"This":[84],"particularly":[85],"prohibits":[86],"application":[88],"programs":[90],"which":[91],"process":[92],"larger":[93],"sets.":[95],"In":[96],"this":[97],"paper,":[98],"we":[99],"propose":[100],"changes":[101],"HAMT":[104],"design":[105,120],"increase":[107],"overall":[109],"sets":[113],"maps.":[115],"resulting":[117],"general":[118],"purpose":[119],"increases":[121],"cache":[122],"locality":[123],"features":[125],"a":[126],"canonical":[127],"representation.":[128],"It":[129],"outperforms":[130],"Scala\u2019s":[131],"Clojure\u2019s":[133],"structure":[135],"implementations":[136],"terms":[138],"footprint":[141],"efficiency":[144],"(1.3\u20136.7x)":[147],"(3\u201325.4x).":[151]},"counts_by_year":[{"year":2024,"cited_by_count":3},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":7},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":7}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
