core 6.0
И почему у меня в консоль Триллион строк текста пишет, Тогда как мне нужна просто, только таблица.
Во всех примеров у всех таблица выводиться, у меня, после часа ожидания и вот таких строк
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet 8f9f0e15-6ccc-44c3-9ed4-c874be70776a.dll --benchmarkName "Bench.Sleeps.Time50(T: 50)" --job IterationCount=1 --benchmarkId 0 in C:\Users\danii\source\repos\VSM\Bench\bin\Release\net6.0\8f9f0e15-6ccc-44c3-9ed4-c874be70776a\bin\Release\net6.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET 6.0.7 (6.0.722.32202), X64 RyuJIT AVX2
// GC=Concurrent Workstation
// HardwareIntrinsics=AVX2,AES,BMI1,BMI2,FMA,LZCNT,PCLMUL,POPCNT VectorSize=256
// Job: Job-PDKXUI(IterationCount=1)
OverheadJitting 1: 1 op, 573100.00 ns, 573.1000 us/op
WorkloadJitting 1: 1 op, 371700.00 ns, 371.7000 us/op
OverheadJitting 2: 16 op, 491300.00 ns, 30.7062 us/op
WorkloadJitting 2: 16 op, 642500.00 ns, 40.1562 us/op
WorkloadPilot 1: 16 op, 1000.00 ns, 62.5000 ns/op
WorkloadPilot 2: 32 op, 1400.00 ns, 43.7500 ns/op
WorkloadPilot 3: 64 op, 2000.00 ns, 31.2500 ns/op
WorkloadPilot 4: 128 op, 1600.00 ns, 12.5000 ns/op
WorkloadPilot 5: 256 op, 1900.00 ns, 7.4219 ns/op
WorkloadPilot 6: 512 op, 2800.00 ns, 5.4688 ns/op
... Больше миллиона наверное.
И только в самом конце таблица.
Вот стартовый код, уже даже без кода пустые методы. (Добавил [BenchmarkDotNet.Attributes.IterationCount(1)] не знаю точно, что значат, но и без них так же ждать вечность )
// Пока писал, вопорос, даже этот код еще не выполнился???? Почему он зависает на вечность?
using System;
using System.Security.Cryptography;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
namespace Bench
{
[DisassemblyDiagnoser(maxDepth: 1)] // change to 0 for just the [Benchmark] method
[MemoryDiagnoser(displayGenColumns: false)]
public class Sleeps
{
[BenchmarkDotNet.Attributes.IterationCount(1)]
[Benchmark]
public void Time50() {}// Thread.Sleep(50);
[BenchmarkDotNet.Attributes.IterationCount(1)]
[Benchmark(Baseline = true)]
public void Time100() {}// Thread.Sleep(100);
[BenchmarkDotNet.Attributes.IterationCount(1)]
[Benchmark]
public void Time150() { } //=> Thread.Sleep(150);
[Params(50, 100, 150)]
public int T { get; set; }
[BenchmarkDotNet.Attributes.IterationCount(1)]
[Benchmark]
public void Sleep() { } //=> Thread.Sleep(T);
}
public class Program
{
public static void Main(string[] args)
{
BenchmarkRunner.Run<Sleeps>();
// var summary = BenchmarkRunner.Run<Md5VsSha256>( );
// var summary2 = BenchmarkRunner.Run<LookupSpeed>();
}
}
}
И как оно вообще работает, точнее чем отличается от Stopwatch(), точнее чем лучше, кроме того что не надо писать лишних 20-30 строчек?