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

Reduce number of initial pilot ops to 1 or make it configurable #736

Closed
surban opened this issue Apr 30, 2018 · 1 comment · Fixed by #760
Closed

Reduce number of initial pilot ops to 1 or make it configurable #736

surban opened this issue Apr 30, 2018 · 1 comment · Fixed by #760
Assignees
Milestone

Comments

@surban
Copy link

surban commented Apr 30, 2018

Currently piloting always starts with 4 ops. This can take an unnecessary long time if the function to benchmark is long running.

Thus I suggest to reduce the number of initial pilot ops to 1. This will not reduce accuracy for short-running functions, since it is just an initial value and will be increased automatically to match the specified IterationTime.

Probably this can be done by simply changing MinInvokeCount in Engine.cs.

@adamsitnik adamsitnik self-assigned this May 17, 2018
@adamsitnik adamsitnik added this to the v0.11.0 milestone May 17, 2018
@adamsitnik
Copy link
Member

I will solve it soon, will be part of 0.11.0

adamsitnik added a commit that referenced this issue May 22, 2018
adamsitnik added a commit that referenced this issue May 22, 2018
adamsitnik added a commit that referenced this issue May 22, 2018
adamsitnik added a commit that referenced this issue May 22, 2018
adamsitnik added a commit that referenced this issue May 22, 2018
adamsitnik added a commit that referenced this issue May 24, 2018
adamsitnik added a commit that referenced this issue May 27, 2018
 #736

* don't execute long operations more than once per iteration, #736

* generate the right C# code for #736

* EngineParameters.Resolver was always null or ignored ;), #736

* don't forget to JIT idle, #736

* do the math right for unroll factor for JIT, #736

* generate the right IL code, #736

* Setup and Cleanup are jitted together with benchmark, #736

* engine factory is now supposed to create an engine which is ready to run (hence the method name change), #736

* addressing PR feedback, #736

* bring back the calls to DummyActions, #736

* align iteration mode

* don't measure the overhead for time consuming benchmarks, don't run pilot if jitting gives the answer, #736

* fix the Linux build
alinasmirnova pushed a commit to alinasmirnova/BenchmarkDotNet that referenced this issue Sep 22, 2018
…, fixes dotnet#736

* don't execute long operations more than once per iteration, dotnet#736

* generate the right C# code for dotnet#736

* EngineParameters.Resolver was always null or ignored ;), dotnet#736

* don't forget to JIT idle, dotnet#736

* do the math right for unroll factor for JIT, dotnet#736

* generate the right IL code, dotnet#736

* Setup and Cleanup are jitted together with benchmark, dotnet#736

* engine factory is now supposed to create an engine which is ready to run (hence the method name change), dotnet#736

* addressing PR feedback, dotnet#736

* bring back the calls to DummyActions, dotnet#736

* align iteration mode

* don't measure the overhead for time consuming benchmarks, don't run pilot if jitting gives the answer, dotnet#736

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

Successfully merging a pull request may close this issue.

2 participants