[GR-19645][Native Image] Support G1GC on Windows.
Is your feature request related to a problem? Please describe.
Yes. Currently, the G1GC (--gc=G1) for Native Image is only supported on Linux(AMD64 and AARCH64).
When building Native Images on Windows, we can only use Serial GC and Epsilon GC. While Serial GC works well for small heaps, it causes significant "stop-the-world" pause times for applications requiring larger heaps(The Incremental GC requires around 50ms, and the Full GC requires around 150ms).
Describe the solution you'd like. I would like the G1GC implementation in Native Image to be enabled for Windows.
Describe who do you think will benefit the most.
- Desktop App Developers: Heavy client-side applications running on Windows would benefit from smoother UI responsiveness.
- Cross-platform Developers: Developers who build applications for multiple OS need consistent GC behavior and performance characteristics across platforms.
Describe alternatives you've considered.
- Using Serial GC: This leads to large latency and bad performance for large heaps.
- Using WSL2 or Docker: This is not a "native" solution, and it is overly complex for the user.
Supporting G1GC on Windows is on our far out roadmap. We eventually plan to do it, but are currently not working on it and have no immediate plans to get started.