You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
don't execute long operations more than once per iteration (#760), fixes#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
engineParameters.GlobalSetupAction?.Invoke();// whatever the settings are, we MUST call global setup here, the global cleanup is part of Engine's Dispose
31
+
32
+
if(!engineParameters.NeedsJitting)// just create the engine, do NOT jit
33
+
returnCreateMultiActionEngine(engineParameters);
34
+
35
+
intjitIndex=0;
36
+
37
+
if(engineParameters.HasInvocationCount||engineParameters.HasUnrollFactor)// it's a job with explicit configuration, just create the engine and jit it
CreateJobWhichDoesNotNeedPilotAndOverheadEvaluation(engineParameters.TargetJob,invocationCount:1,unrollFactor:1),// run the benchmark exactly once per iteration
0 commit comments