Integrating region memory management and tag-free generational garbage collection

Publikation: Bidrag til tidsskriftReviewForskningfagfællebedømt

Standard

Integrating region memory management and tag-free generational garbage collection. / Elsman, Martin; Hallenberg, Niels.

I: Journal of Functional Programming, Bind 31, e4, 2021.

Publikation: Bidrag til tidsskriftReviewForskningfagfællebedømt

Harvard

Elsman, M & Hallenberg, N 2021, 'Integrating region memory management and tag-free generational garbage collection', Journal of Functional Programming, bind 31, e4. https://doi.org/10.1017/S0956796821000010

APA

Elsman, M., & Hallenberg, N. (2021). Integrating region memory management and tag-free generational garbage collection. Journal of Functional Programming, 31, [e4]. https://doi.org/10.1017/S0956796821000010

Vancouver

Elsman M, Hallenberg N. Integrating region memory management and tag-free generational garbage collection. Journal of Functional Programming. 2021;31. e4. https://doi.org/10.1017/S0956796821000010

Author

Elsman, Martin ; Hallenberg, Niels. / Integrating region memory management and tag-free generational garbage collection. I: Journal of Functional Programming. 2021 ; Bind 31.

Bibtex

@article{73876ee9281b419691949d50149e571d,
title = "Integrating region memory management and tag-free generational garbage collection",
abstract = "We present a region-based memory management scheme with support for generational garbage collection. The scheme features a compile-time region inference algorithm, which associates values with logical regions, and builds on a region type system that deploys region types at runtime to avoid the overhead of write barriers and to support partly tag-free garbage collection. The scheme is implemented in the MLKit Standard ML compiler, which generates native x64 machine code. Besides demonstrating a number of important formal properties of the scheme, we measure the scheme{\textquoteright}s characteristics, for a number of benchmarks, and compare the performance of the generated executables with the performance of executables generated with the MLton state-of-the-art Standard ML compiler and configurations of the MLKit with and without region inference and generational garbage collection enabled. Although region inference often serves the purpose of generations, combining region inference with generational garbage collection is shown often to be superior to combining region inference with non-generational collection despite the overhead introduced by a larger amount of memory waste, due to region fragmentation.",
author = "Martin Elsman and Niels Hallenberg",
note = "Publisher Copyright: {\textcopyright} The Author(s), 2021.",
year = "2021",
doi = "10.1017/S0956796821000010",
language = "English",
volume = "31",
journal = "Journal of Functional Programming",
issn = "0956-7968",
publisher = "Cambridge University Press",

}

RIS

TY - JOUR

T1 - Integrating region memory management and tag-free generational garbage collection

AU - Elsman, Martin

AU - Hallenberg, Niels

N1 - Publisher Copyright: © The Author(s), 2021.

PY - 2021

Y1 - 2021

N2 - We present a region-based memory management scheme with support for generational garbage collection. The scheme features a compile-time region inference algorithm, which associates values with logical regions, and builds on a region type system that deploys region types at runtime to avoid the overhead of write barriers and to support partly tag-free garbage collection. The scheme is implemented in the MLKit Standard ML compiler, which generates native x64 machine code. Besides demonstrating a number of important formal properties of the scheme, we measure the scheme’s characteristics, for a number of benchmarks, and compare the performance of the generated executables with the performance of executables generated with the MLton state-of-the-art Standard ML compiler and configurations of the MLKit with and without region inference and generational garbage collection enabled. Although region inference often serves the purpose of generations, combining region inference with generational garbage collection is shown often to be superior to combining region inference with non-generational collection despite the overhead introduced by a larger amount of memory waste, due to region fragmentation.

AB - We present a region-based memory management scheme with support for generational garbage collection. The scheme features a compile-time region inference algorithm, which associates values with logical regions, and builds on a region type system that deploys region types at runtime to avoid the overhead of write barriers and to support partly tag-free garbage collection. The scheme is implemented in the MLKit Standard ML compiler, which generates native x64 machine code. Besides demonstrating a number of important formal properties of the scheme, we measure the scheme’s characteristics, for a number of benchmarks, and compare the performance of the generated executables with the performance of executables generated with the MLton state-of-the-art Standard ML compiler and configurations of the MLKit with and without region inference and generational garbage collection enabled. Although region inference often serves the purpose of generations, combining region inference with generational garbage collection is shown often to be superior to combining region inference with non-generational collection despite the overhead introduced by a larger amount of memory waste, due to region fragmentation.

U2 - 10.1017/S0956796821000010

DO - 10.1017/S0956796821000010

M3 - Review

AN - SCOPUS:85101535734

VL - 31

JO - Journal of Functional Programming

JF - Journal of Functional Programming

SN - 0956-7968

M1 - e4

ER -

ID: 306674401