Uh oh!
There was an error while loading. Please reload this page.
Include corerun in Mono testhost - #80082
Conversation
ghost
commented
Dec 31, 2022
Tagging subscribers to this area: @dotnet/area-infrastructure-libraries Issue DetailsBenchmark.NET has a I tested building
|
ViktorHofer
commented
Jan 1, 2023
Some subset must be building the corerun executable, otherwise it wouldn't be available. Do you know which one does that? cc @steveisok@jkotas |
AustinWise
commented
Jan 1, 2023
The clr.hosts subset builds corerun. If you have not built it, building mono+libs will not include corerun in the testhost but otherwise succeed. If this nondeterminism is undesirable, clr.hosts could be included in the mono subset. |
Ideally we would not include corerun in the libraries testhost artifact folder at all, as the testhost layout should represent the shipping testhost in the SDK. We only added it back as @adamsitnik explicitly asked for it. I can't remember what the exact reason was, but I think it was BenchmarkDotNet related and using the dotnet host wasn't possible at that time (also cc @am11). Maybe we should re-evaluate BDN's corerun dependency instead? |
am11
commented
Jan 2, 2023
BDN supports several mono flavors (https://github.com/dotnet/BenchmarkDotNet/blob/master/src/BenchmarkDotNet/ConsoleArguments/CommandLineOptions.cs). We can specify |
AustinWise
commented
Jan 2, 2023
Thanks for the pointer to the code. I found a work around: the |
adamsitnik
commented
Jan 11, 2023
It looks like we need to update the docs with Mono benchmarking instructions. cc @radical@lewing
I am afraid that we still need it, as it's simpler and just works. |
ViktorHofer
commented
Jan 11, 2023
@adamsitnik can you please remind me what the technical reason was for using it over the dotnet host? |
Benchmark.NET has a
--coreRunparameter that enables running a benchmark against a private build of the .NET runtime. See these instructions in dotnet/performance for how it is used. Currently thecorerunprogram is only being included in the CoreCLR version of the testhost. This change also includes it in the Mono version of the testhost, making it slightly easier to run benchmarks against the desktop version of Mono.I tested building
./build.sh -s mono+libsto confirm that this does not introduce a requirement to build theclr.hostssubset. I also tested running./build.sh -s mono+libs+clr.hostsand then running Benchmark.NET against the resulting test host.