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

Run Disassembly Diagnoser without extra run #543

Closed
2 tasks done
adamsitnik opened this issue Sep 10, 2017 · 5 comments
Closed
2 tasks done

Run Disassembly Diagnoser without extra run #543

adamsitnik opened this issue Sep 10, 2017 · 5 comments

Comments

@adamsitnik
Copy link
Member

adamsitnik commented Sep 10, 2017

  • Implement reliable diagnoser synchronization
  • Attach Dissasembly Diagnoser after we are done benchmarking
@adamsitnik adamsitnik added this to the v0.10.x milestone Sep 10, 2017
@adamsitnik adamsitnik self-assigned this Sep 10, 2017
@adamsitnik adamsitnik modified the milestones: v0.10.x, v0.10.12 Dec 15, 2017
@adamsitnik adamsitnik changed the title Implement reliable diagnoser synchronization Run Disassembly Diagnoser without extra run Dec 15, 2017
@adamsitnik
Copy link
Member Author

I implemented the synchronization in very simple way.

Initially I was thinking about using some fancy stuff like Mutex. But Mutex throws NotSupportedException for .NET Core on MacOS and Linux. So it was not an option.

Then I realized that I can just write to std out and read std in in blocking way. It just works. So one process is writing signal and waiting for response by reading in blocking way from console.

This allowed to attach DissasemblyDiagnoser after benchmarks are done, without spawning new process. It also allows to get disassembly for Job.Dry (#542)

@AndreyAkinshin
Copy link
Member

I like how it looks now!

@nietras
Copy link
Contributor

nietras commented Jan 1, 2018

@adamsitnik I have this issue in a benchmark I am doing (where I need IterationSetup and hence dry run), when will this be released?

@adamsitnik
Copy link
Member Author

It's going to be part of the official 0.10.12 release, but we don't have any release date yet.

But it's available now on our CI feed:

<packageSources>
  <add key="bdn-nightly" value="https://ci.appveyor.com/nuget/benchmarkdotnet" />
</packageSources>

The latest package contains also parallel build, so overall performance should be improved.

@nietras
Copy link
Contributor

nietras commented Jan 1, 2018

@adamsitnik thanks that worked, however I am having issues with the disassembler. I've opened a separate issue for that #543

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

No branches or pull requests

3 participants