// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. // using System.Collections.Generic; using System.Linq; namespace DataTransferContracts // generated with http://json2csharp.com/# { public class ChronometerFrequency { public int Hertz { get; set; } } public class HostEnvironmentInfo { public string BenchmarkDotNetCaption { get; set; } public string BenchmarkDotNetVersion { get; set; } public string OsVersion { get; set; } public string ProcessorName { get; set; } public int? PhysicalProcessorCount { get; set; } public int? PhysicalCoreCount { get; set; } public int? LogicalCoreCount { get; set; } public string RuntimeVersion { get; set; } public string Architecture { get; set; } public bool? HasAttachedDebugger { get; set; } public bool? HasRyuJit { get; set; } public string Configuration { get; set; } public string JitModules { get; set; } public string DotNetCliVersion { get; set; } public ChronometerFrequency ChronometerFrequency { get; set; } public string HardwareTimerKind { get; set; } } public class ConfidenceInterval { public int N { get; set; } public double Mean { get; set; } public double StandardError { get; set; } public int Level { get; set; } public double Margin { get; set; } public double Lower { get; set; } public double Upper { get; set; } } public class Percentiles { public double P0 { get; set; } public double P25 { get; set; } public double P50 { get; set; } public double P67 { get; set; } public double P80 { get; set; } public double P85 { get; set; } public double P90 { get; set; } public double P95 { get; set; } public double P100 { get; set; } } public class Statistics { public int N { get; set; } public double Min { get; set; } public double LowerFence { get; set; } public double Q1 { get; set; } public double Median { get; set; } public double Mean { get; set; } public double Q3 { get; set; } public double UpperFence { get; set; } public double Max { get; set; } public double InterquartileRange { get; set; } public List LowerOutliers { get; set; } public List UpperOutliers { get; set; } public List AllOutliers { get; set; } public double StandardError { get; set; } public double Variance { get; set; } public double StandardDeviation { get; set; } public double Skewness { get; set; } public double Kurtosis { get; set; } public ConfidenceInterval ConfidenceInterval { get; set; } public Percentiles Percentiles { get; set; } } public class Memory { public int Gen0Collections { get; set; } public int Gen1Collections { get; set; } public int Gen2Collections { get; set; } public long TotalOperations { get; set; } public long BytesAllocatedPerOperation { get; set; } } public class Measurement { public string IterationStage { get; set; } public int LaunchIndex { get; set; } public int IterationIndex { get; set; } public long Operations { get; set; } public double Nanoseconds { get; set; } } public class Benchmark { public string DisplayInfo { get; set; } public object Namespace { get; set; } public string Type { get; set; } public string Method { get; set; } public string MethodTitle { get; set; } public string Parameters { get; set; } public string FullName { get; set; } public Statistics Statistics { get; set; } public Memory Memory { get; set; } public List Measurements { get; set; } /// /// this method was not auto-generated by a tool, it was added manually /// /// an array of the actual workload results (not warmup, not pilot) internal double[] GetOriginalValues() => Measurements .Where(measurement => measurement.IterationStage == "Result") .Select(measurement => measurement.Nanoseconds / measurement.Operations) .ToArray(); } public class BdnResult { public string Title { get; set; } public HostEnvironmentInfo HostEnvironmentInfo { get; set; } public List Benchmarks { get; set; } } }