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...

Full description

Saved in:
Bibliographic Details
Published inProceedings / International Conference on Software Engineering pp. 1806 - 1818
Main Authors Wang, Yicheng, Dou, Wensheng, Liang, Yu, Wang, Yi, Wang, Wei, Wei, Jun, Huang, Tao
Format Conference Proceeding
LanguageEnglish
Published IEEE 26.04.2025
Subjects
Online AccessGet 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