Beispiel #1
0
 public IterationData(IterationMode iterationMode, IterationStage iterationStage, int index, long invokeCount, int unrollFactor)
 {
     IterationMode  = iterationMode;
     IterationStage = iterationStage;
     Index          = index;
     InvokeCount    = invokeCount;
     UnrollFactor   = unrollFactor;
 }
 /// <summary>
 /// Creates an instance of <see cref="Measurement"/> struct.
 /// </summary>
 /// <param name="launchIndex"></param>
 /// <param name="iterationMode"></param>
 /// <param name="iterationStage"></param>
 /// <param name="iterationIndex"></param>
 /// <param name="operations">The number of operations performed.</param>
 /// <param name="nanoseconds">The total number of nanoseconds it took to perform all operations.</param>
 public Measurement(int launchIndex, IterationMode iterationMode, IterationStage iterationStage, int iterationIndex, long operations, double nanoseconds)
 {
     Operations     = operations;
     Nanoseconds    = nanoseconds;
     LaunchIndex    = launchIndex;
     IterationMode  = iterationMode;
     IterationStage = iterationStage;
     IterationIndex = iterationIndex;
 }
Beispiel #3
0
 /// <summary>
 /// Creates an instance of <see cref="Measurement"/> struct.
 /// </summary>
 /// <param name="launchIndex"></param>
 /// <param name="iterationMode"></param>
 /// <param name="iterationStage"></param>
 /// <param name="iterationIndex"></param>
 /// <param name="operations">The number of operations performed.</param>
 /// <param name="nanoseconds">The total number of nanoseconds it took to perform all operations.</param>
 /// <param name="encoding">encoding to display value.</param>
 public Measurement(int launchIndex, IterationMode iterationMode, IterationStage iterationStage, int iterationIndex, long operations, double nanoseconds, Encoding encoding = null)
 {
     Encoding       = encoding;
     Operations     = operations;
     Nanoseconds    = nanoseconds;
     LaunchIndex    = launchIndex;
     IterationMode  = iterationMode;
     IterationStage = iterationStage;
     IterationIndex = iterationIndex;
 }
Beispiel #4
0
        internal void IterationStart(IterationMode mode, IterationStage stage, long totalOperations)
        {
            switch (stage)
            {
            case IterationStage.Jitting when mode == IterationMode.Overhead:
                OverheadJittingStart(totalOperations);
                break;

            case IterationStage.Jitting when mode == IterationMode.Workload:
                WorkloadJittingStart(totalOperations);
                break;

            case IterationStage.Pilot when mode == IterationMode.Workload:
                WorkloadPilotStart(totalOperations);
                break;

            case IterationStage.Warmup when mode == IterationMode.Overhead:
                OverheadWarmupStart(totalOperations);
                break;

            case IterationStage.Warmup when mode == IterationMode.Workload:
                WorkloadWarmupStart(totalOperations);
                break;

            case IterationStage.Actual when mode == IterationMode.Overhead:
                OverheadActualStart(totalOperations);
                break;

            case IterationStage.Actual when mode == IterationMode.Workload:
                WorkloadActualStart(totalOperations);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(stage), stage, null);
            }
        }
Beispiel #5
0
 public static bool Is(this Measurement measurement, IterationMode mode, IterationStage stage)
 => measurement.IterationMode == mode && measurement.IterationStage == stage;