Skip to content

Conversation

@kunalspathak
Copy link
Contributor

When building performance for

Currently micro benchmarks fails to build on windows/arm64 because of dotnet/roslyn#42393. As a workaround, we need to pass /p:DebugType=portable to build the micro benchmark project. Also, while running the micro benchmarks on windows/arm64 pass this parameter to build the autogenerated project.

Ref - dotnet/BenchmarkDotNet#1395

@billwert
Copy link
Contributor

I wonder if we should just switch to portable PDBs entirely and not conditionalize this. @noahfalk - can you opine about about "classic" vs "portable" PDBs and how we should think about them?

@kunalspathak
Copy link
Contributor Author

Yeah, I was not sure about the compatibility with older netcoreapp / net framework versions if given portable. If @noahfalk or someone else can confirm, I will go ahead with that.

@noahfalk
Copy link
Member

At this point I think of portable pdb format as a reasonable default for most use cases, and then use the classic format if you need to be back compatible with specific tools that have never added portable pdb support. There is a symbol conversion tool so that you can generate only portable pdb at build time and then later create the classic pdb when/if your use-case requires it. Last I recall .Net Core produces and uploads both formats to symbol server attempting to facilitate the largest number of use-cases. I'm not sure if symbol upload is something you bother with for these benchmark apps though.

There is a doc that describes use cases that are lacking portable pdb support but I believe it is out of date. @tmat usually has the most up-to-date info on support and maybe he could update the doc? Giving it a quick read I think the MSDIA case is now supported, and .Net reflector might be as well?

@kunalspathak
Copy link
Contributor Author

Alright, I will make the MicroBenchmarks.csproj build with portable symbols unless @billwert or @adamsitnik think otherwise.

@adamsitnik
Copy link
Member

Alright, I will make the MicroBenchmarks.csproj build with portable symbols unless @billwert or @adamsitnik think otherwise.

I don't mind switching to portable symbols

@billwert
Copy link
Contributor

billwert commented Mar 23, 2020 via email

Copy link
Member

@adamsitnik adamsitnik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you @kunalspathak !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants