-
Notifications
You must be signed in to change notification settings - Fork 285
Fix build and execution for windows/arm64 #1243
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
Conversation
|
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? |
|
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. |
|
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? |
|
Alright, I will make the |
I don't mind switching to portable symbols |
adamsitnik
left a comment
There was a problem hiding this 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 !
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=portableto 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