dotnet / dotnet/sdk

Default app.manifest should include <heapType>SegmentHeap</heapType>

Open
#43,611 5 comments 20 reactions 0 assignees View on GitHub
Area-NetSDK untriaged
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

### Describe the bug

While it doesn't effect managed code if you are using any native allocator from a 3rd party lib (e.g. use RocksDB for example); then the allocator will degrade terribly over time and become a performance bottleneck.

Windows 10, version 2004 (build 19041) and later support a new allocator that doesn't suffer from this issues https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests#heaptype

However it needs to be specified in the `app.manifest` which by default .NET isn't doing.

This can be manually overwritten eg. https://github.com/NethermindEth/nethermind/pull/7418 but should be on this fast path by default.

### To Reproduce
Build a .NET exe on Windows this field is not included in the manifest

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.