Skip to content

Use custom GC PAL for all GC build flavors #72684

@jkotas

Description

@jkotas

The standalone GC is using custom PAL on Unix: https://github.com/dotnet/runtime/blob/main/src/coreclr/gc/unix/gcenv.unix.cpp

The built-in GC is using PAL from https://github.com/dotnet/runtime/blob/main/src/coreclr/vm/gcenv.os.cpp. This PAL runs on top Win32 emulated APIs that come with extra overhead (extra tracking structures and extra locks). We have observed cases where this overhead is fairly significant.

We should switch the default built-in GC to use the custom PAL to eliminate the overhead of Win32 API emulation on Unix.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions