Evaluating Garbage Collection Performance Across Managed Language Runtimes
Modern managed language runtimes (e.g., Java, Go and C#) rely on garbage collection (GC) mechanisms to automatically allocate and reclaim in-memory objects. The efficiency of GC implementations can greatly impact the overall performance of runtime-based applications. To improve GC performance, the a...
Saved in:
Published in | Proceedings / International Conference on Software Engineering pp. 1806 - 1818 |
---|---|
Main Authors | , , , , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
26.04.2025
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Modern managed language runtimes (e.g., Java, Go and C#) rely on garbage collection (GC) mechanisms to automatically allocate and reclaim in-memory objects. The efficiency of GC implementations can greatly impact the overall performance of runtime-based applications. To improve GC performance, the academic and industrial communities have proposed several approaches to evaluate the GC implementations in an individual runtime. However, these approaches target a specific managed language (e.g., Java), and cannot be used to compare the GC implementations in different runtimes. In this paper, we propose GEAR, an automated approach to construct consistent GC workloads for different managed language runtimes, which can further be used to evaluate GC implementations across different runtimes. Specifically, we design a group of runtime-agnostic Memory Operation Primitives (MOP), which can portray the memory usage information that influences GC. GEAR can further automatically convert a MOP program into runtime-specific programs for the target runtimes, which serve as a consistent GC workload for different runtimes. To build MOP programs with real-world GC workloads, we instrument the commonly-used runtime Java Virtual Machine (JVM) to collect the memory operation trace during a Java application's execution, and then transform the memory operation trace into a MOP program. The experimental result on three widely-used runtimes (i.e., Java, Go and C#) shows that GEAR can generate consistent GC workloads for different runtimes. We further conduct a comprehensive study on these three runtimes, and reveal some interesting findings about their GC performance, providing useful guidance for improving their GC implementations. |
---|---|
AbstractList | Modern managed language runtimes (e.g., Java, Go and C#) rely on garbage collection (GC) mechanisms to automatically allocate and reclaim in-memory objects. The efficiency of GC implementations can greatly impact the overall performance of runtime-based applications. To improve GC performance, the academic and industrial communities have proposed several approaches to evaluate the GC implementations in an individual runtime. However, these approaches target a specific managed language (e.g., Java), and cannot be used to compare the GC implementations in different runtimes. In this paper, we propose GEAR, an automated approach to construct consistent GC workloads for different managed language runtimes, which can further be used to evaluate GC implementations across different runtimes. Specifically, we design a group of runtime-agnostic Memory Operation Primitives (MOP), which can portray the memory usage information that influences GC. GEAR can further automatically convert a MOP program into runtime-specific programs for the target runtimes, which serve as a consistent GC workload for different runtimes. To build MOP programs with real-world GC workloads, we instrument the commonly-used runtime Java Virtual Machine (JVM) to collect the memory operation trace during a Java application's execution, and then transform the memory operation trace into a MOP program. The experimental result on three widely-used runtimes (i.e., Java, Go and C#) shows that GEAR can generate consistent GC workloads for different runtimes. We further conduct a comprehensive study on these three runtimes, and reveal some interesting findings about their GC performance, providing useful guidance for improving their GC implementations. |
Author | Liang, Yu Wang, Yi Wei, Jun Wang, Wei Dou, Wensheng Huang, Tao Wang, Yicheng |
Author_xml | – sequence: 1 givenname: Yicheng surname: Wang fullname: Wang, Yicheng email: wangyicheng19@otcaix.iscas.ac.cn organization: Institute of Software Chinese Academy of Sciences,Key Lab of System Software, State Key Laboratory of Computer Science – sequence: 2 givenname: Wensheng surname: Dou fullname: Dou, Wensheng email: wsdou@otcaix.iscas.ac.cn organization: Institute of Software Chinese Academy of Sciences,Key Lab of System Software, State Key Laboratory of Computer Science – sequence: 3 givenname: Yu surname: Liang fullname: Liang, Yu email: liangyu22@otcaix.iscas.ac.cn organization: Institute of Software Chinese Academy of Sciences,Key Lab of System Software, State Key Laboratory of Computer Science – sequence: 4 givenname: Yi surname: Wang fullname: Wang, Yi email: wangyi22@otcaix.iscas.ac.cn organization: Institute of Software Chinese Academy of Sciences,Key Lab of System Software, State Key Laboratory of Computer Science – sequence: 5 givenname: Wei surname: Wang fullname: Wang, Wei email: wangwei@otcaix.iscas.ac.cn organization: Institute of Software Chinese Academy of Sciences,Key Lab of System Software, State Key Laboratory of Computer Science – sequence: 6 givenname: Jun surname: Wei fullname: Wei, Jun email: wj@otcaix.iscas.ac.cn organization: Institute of Software Chinese Academy of Sciences,Key Lab of System Software, State Key Laboratory of Computer Science – sequence: 7 givenname: Tao surname: Huang fullname: Huang, Tao email: tao@otcaix.iscas.ac.cn organization: Institute of Software Chinese Academy of Sciences,Key Lab of System Software, State Key Laboratory of Computer Science |
BookMark | eNotkM1Og0AUhUejiW3tG3QxLwDODxe4y4ZgW4PRaPfNhRkIBgbDj4lv7xhdnbP4cvLlrNmNG5xlbCdFKKXAh1P2ngPoKAmVUBAKoWR6xbaYYKq1BAExymu2kgBpIJWCO7aepg8hRBwhrthT_kXdQnPrGn6gsaTG8mzoOlvN7eD4qx3rYezJVZbvq3GYJv5MzkOGF-Sa5Rd_W9zc9na6Z7c1dZPd_ueGnR_zc3YMipfDKdsXQYt6DhIwkHqpCoySxlSmtMZGvilCUaGBWmoj0dtFcSmFB1NKlNBQx0SRRr1hu7_Z1lp7-Rzbnsbvi_9CISqtfwAGGU-F |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
DBID | 6IE 6IH CBEJK RIE RIO |
DOI | 10.1109/ICSE55347.2025.00218 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP) 1998-present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Xplore url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISBN | 9798331505691 |
EISSN | 1558-1225 |
EndPage | 1818 |
ExternalDocumentID | 11029923 |
Genre | orig-research |
GrantInformation_xml | – fundername: Youth Innovation Promotion Association at Chinese Academy of Sciences grantid: Y2022044 funderid: 10.13039/501100004739 – fundername: Huawei funderid: 10.13039/501100003816 – fundername: National Natural Science Foundation of China grantid: 62072444,62302493 funderid: 10.13039/501100001809 |
GroupedDBID | -~X .4S .DC 29O 5VS 6IE 6IF 6IH 6IK 6IL 6IM 6IN 8US AAJGR AAWTH ABLEC ADZIZ ALMA_UNASSIGNED_HOLDINGS ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO EDO FEDTE I-F IEGSK IJVOP IPLJI M43 OCL RIE RIL RIO |
ID | FETCH-LOGICAL-i93t-75d58569c5d21ddcdbede41dd2a90c9d5f13d1964946b1069c8a72035f6aa4393 |
IEDL.DBID | RIE |
IngestDate | Wed Aug 27 01:40:13 EDT 2025 |
IsPeerReviewed | false |
IsScholarly | true |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-i93t-75d58569c5d21ddcdbede41dd2a90c9d5f13d1964946b1069c8a72035f6aa4393 |
PageCount | 13 |
ParticipantIDs | ieee_primary_11029923 |
PublicationCentury | 2000 |
PublicationDate | 2025-April-26 |
PublicationDateYYYYMMDD | 2025-04-26 |
PublicationDate_xml | – month: 04 year: 2025 text: 2025-April-26 day: 26 |
PublicationDecade | 2020 |
PublicationTitle | Proceedings / International Conference on Software Engineering |
PublicationTitleAbbrev | ICSE |
PublicationYear | 2025 |
Publisher | IEEE |
Publisher_xml | – name: IEEE |
SSID | ssj0006499 |
Score | 2.2898777 |
Snippet | Modern managed language runtimes (e.g., Java, Go and C#) rely on garbage collection (GC) mechanisms to automatically allocate and reclaim in-memory objects.... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 1806 |
SubjectTerms | C# languages Computer bugs Garbage collection Gears Instruments Java Logic managed language runtime Performance evaluation Runtime Transforms Virtual machining |
Title | Evaluating Garbage Collection Performance Across Managed Language Runtimes |
URI | https://ieeexplore.ieee.org/document/11029923 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LSwMxEA62J0_1UfFNDl7TNskmuzlKaa1FS9EKvZU8ZouIW9HtxV9vkt1aEQRvITnskpDMfDPzzYfQlaGaSuApsXmSkpByJJnIJOFaW5ZqarMoyXI_kaOnZDwX85qsHrkwABCLz6AThjGX71Z2HUJlXW-q_OvJeAM1PHKryFrfz670vnvNjaM91b3tPw6E4EnqMSCLcZOg6_FDQSUakGELTTafrupGXjrr0nTs56-ujP_-tz3U3nL18PTbCu2jHSgOUGsj1oDru3uIxoO6r3exxDchybAEHKMGkdiAp1sCAb6OphNXlTEO39UhTfwQZCVe4aONZsPBrD8itZACeVa8JKlwHhRIZYVj1DnrDDhI_Ihp1bPKiZxyFxpzqUQaDxGVzXTIzopcau0dFn6EmsWqgGOElTIAHvUAy_2KpoZ7_yqFjEJiwcPdE9QOW7N4q1plLDa7cvrH_BnaDccT0jNMnqNm-b6GC2_lS3MZT_cLBVanGQ |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NT8IwGG4UD3rCD4zf9uB1QNu1W4-GgIBAiGLCjXTtO0KMw-i4-OttuwHGxMRb0x62tGmf9-t5H4TuEqKIABYFOg2jwKUcg5jHImBKaRopomMvyTIcie5L2J_yaUlW91wYAPDFZ1B3Q5_LN0u9cqGyhoUq-3pStov2LPBzWtC1Ng-vsNZ7yY4jTdnotZ7bnLMwsl4g9ZETp-zxQ0PFQ0inikbrjxeVI6_1VZ7U9devvoz__rtDVNuy9fB4g0NHaAeyY1RdyzXg8vaeoH677OydzfGDSzPMAfu4gac24PGWQoDvPXjiojbG4EEZ1MRPTljiDT5raNJpT1rdoJRSCBaS5UHEjXULhNTcUGKMNgkYCO2IKtnU0vCUMONac8lQJNZJlDpWLj_LU6GUNVnYKapkywzOEJYyAbB-D9DUriiSMGthRRATCDVYh_cc1dzWzN6LZhmz9a5c_DF_i_a7k-FgNuiNHi_RgTsql6yh4gpV8o8VXFvMz5Mbf9Lf7uGqYw |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Evaluating+Garbage+Collection+Performance+Across+Managed+Language+Runtimes&rft.au=Wang%2C+Yicheng&rft.au=Dou%2C+Wensheng&rft.au=Liang%2C+Yu&rft.au=Wang%2C+Yi&rft.date=2025-04-26&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=1806&rft.epage=1818&rft_id=info:doi/10.1109%2FICSE55347.2025.00218&rft.externalDocID=11029923 |