The Wayback Machine - https://web.archive.org/web/20201024141031/https://github.com/dotnet/BenchmarkDotNet/issues/1469
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host exe marked /largeaddressaware #1469

Open
ryanmolden opened this issue Jun 9, 2020 · 2 comments
Open

Host exe marked /largeaddressaware #1469

ryanmolden opened this issue Jun 9, 2020 · 2 comments

Comments

@ryanmolden
Copy link

@ryanmolden ryanmolden commented Jun 9, 2020

Couldn't find this in the docs

  1. Is it possible to have the benchmark host app (the one running my benchmark code) be marked /LargeAddressAware on Windows? I have some benchmarks that process large dump files in a 32 bit space and it would be REALLY great if I could mark the host app as /LargeAddressAware so it wouldn't OOM if I hit the 2 gig cap.

To be clear this isn't an OOM in that my benchmark code is leaking, it is legitimately trying to process a 3 gig dump file, and while it doesn't keep it all resident at once I am trying to benchmark my cache at various cap levels and OOMing if I set it too high, even though such a high setting works fine in my real program.

@adamsitnik
Copy link
Member

@adamsitnik adamsitnik commented Oct 21, 2020

Hi @ryanmolden

Currently, it's not possible. I am going to mark the issues as up-for-grabs and add few hints hoping that someone is going to work on this and send a PR

@adamsitnik
Copy link
Member

@adamsitnik adamsitnik commented Oct 21, 2020

Anyone who would like to work on this issue should consider:

  • adding a new integration test that ensures that BenchmarkDotNet can run 32-bit .NET and .NET Core benchmark on Windows that allocates an array bigger than 2 GB (or anything else that ensures that 3GB space works). You can use this test as an example
  • add a new boolean config flag to EnvironmentMode type that would allow for enabling the 3GB space. It should be false by default.
  • Use this C# source code to enable it for executables produced by BDN if the flag is set to true. A perfect place would be here for .NET and here for .NET Core toolchain.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.