diff --git a/BenchmarkDotNet.Artifacts/BenchmarkDotNet_AriaEngineInitBenchmark_20260210_084818.diagsession b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_AriaEngineInitBenchmark_20260210_084818.diagsession new file mode 100644 index 000000000..e0dcde968 Binary files /dev/null and b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_AriaEngineInitBenchmark_20260210_084818.diagsession differ diff --git a/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_185614.diagsession b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_185614.diagsession new file mode 100644 index 000000000..d74427410 Binary files /dev/null and b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_185614.diagsession differ diff --git a/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_194943.diagsession b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_194943.diagsession new file mode 100644 index 000000000..de4cb0660 Binary files /dev/null and b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_194943.diagsession differ diff --git a/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_195749.diagsession b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_195749.diagsession new file mode 100644 index 000000000..2be69c4e6 Binary files /dev/null and b/BenchmarkDotNet.Artifacts/BenchmarkDotNet_ArraysCloneBenchmarks_20260223_195749.diagsession differ diff --git a/BenchmarkDotNet.Artifacts/BenchmarkRun-20260210-084741.log b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260210-084741.log new file mode 100644 index 000000000..91086f9bb --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260210-084741.log @@ -0,0 +1,1391 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 5 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.14 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 8.34 sec and exited with 0 +// ***** Done, took 00:00:09 (9.57 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.09 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 6.3 sec and exited with 0 +// ***** Done, took 00:00:07 (7.41 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2240 2136 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 76500.00 ns, 76.5000 us/op +WorkloadJitting 1: 1 op, 128500.00 ns, 128.5000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 2: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadWarmup 3: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 4: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadWarmup 5: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 6: 1 op, 4000.00 ns, 4.0000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 3: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 4: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 5: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 6: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 7: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 8: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 9: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 10: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 11: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 13: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 14: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 15: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 16: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 17: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 18: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 19: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 20: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 21: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 23: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 24: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 25: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 26: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 27: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 28: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 29: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 30: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 31: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 32: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 33: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 34: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 35: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 36: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 37: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 38: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 39: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 40: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 41: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 42: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 43: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 44: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 45: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 46: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 47: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 48: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 49: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 51: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 57: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 58: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 63: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 64: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 65: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 69: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 70: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 71: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 72: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 73: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 74: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 75: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 76: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 77: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 78: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 79: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 80: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 81: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 82: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 83: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 84: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 85: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 86: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 87: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 88: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 89: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 90: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 91: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 92: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 95: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 96: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 97: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 98: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 99: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 100: 1 op, 1800.00 ns, 1.8000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 3: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 4: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 5: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 7: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 8: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 9: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 10: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 11: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 12: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 13: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 14: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 15: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 16: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 17: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 18: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 19: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 20: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 23: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 24: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 25: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 26: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 27: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 28: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 29: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 30: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 31: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 32: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 35: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 38: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 41: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 43: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 46: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 47: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 50: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 51: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 52: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 56: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 57: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 60: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 63: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 64: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 68: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 69: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 70: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadResult 71: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 72: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 73: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 74: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 75: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 76: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 78: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 79: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 80: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 81: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 82: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 83: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 84: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 85: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 87: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 89: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 90: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 91: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 92: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 94: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 95: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 96: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 97: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 98: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 99: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 100: 1 op, 1700.00 ns, 1.7000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 126584 has exited with code 0. + +Mean = 1.589 μs, StdErr = 0.046 μs (2.88%), N = 100, StdDev = 0.457 μs +Min = 1.000 μs, Q1 = 1.300 μs, Median = 1.400 μs, Q3 = 2.000 μs, Max = 2.800 μs +IQR = 0.700 μs, LowerFence = 0.250 μs, UpperFence = 3.050 μs +ConfidenceInterval = [1.434 μs; 1.744 μs] (CI 99.9%), Margin = 0.155 μs (9.75% of Mean) +Skewness = 0.94, Kurtosis = 2.51, MValue = 2.52 + +// ** Remained 4 (80.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:48 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2240 2200 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 76800.00 ns, 76.8000 us/op +WorkloadJitting 1: 1 op, 2744400.00 ns, 2.7444 ms/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 4: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 7: 1 op, 900.00 ns, 900.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 5: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 7: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 8: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 10: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 11: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 13: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 14: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 15: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 16: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 17: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 18: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 19: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 20: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 23: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 24: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 25: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 28: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 31: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 32: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 33: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 35: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 37: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 38: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 39: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 40: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 41: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 42: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 43: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 44: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 45: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 47: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 48: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 49: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 50: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 51: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 52: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 53: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 54: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 57: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 58: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 59: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 60: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 61: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 66: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 67: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 68: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 69: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 70: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 71: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 72: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 73: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 74: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 75: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 76: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 77: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 78: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 79: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 80: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 82: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 83: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 85: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 86: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 87: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 88: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 89: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 90: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 91: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 92: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 93: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 94: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 95: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 96: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 97: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 98: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 99: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 100: 1 op, 1000.00 ns, 1.0000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 5: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 11: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 12: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 14: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 15: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 16: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 17: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 19: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 20: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 27: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 28: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 30: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 35: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 37: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 40: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 41: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 42: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 43: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 45: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 46: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 47: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 48: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 49: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 50: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 51: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 52: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 53: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 54: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 56: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 57: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 58: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 59: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 60: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 61: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 62: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 64: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 65: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 66: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 67: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 69: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 70: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 71: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 72: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 74: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 75: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 76: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 77: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 78: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 79: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 80: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 81: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 82: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 84: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 85: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 86: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 87: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 88: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 89: 1 op, 900.00 ns, 900.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 52204 has exited with code 0. + +Mean = 915.730 ns, StdErr = 9.967 ns (1.09%), N = 89, StdDev = 94.025 ns +Min = 700.000 ns, Q1 = 800.000 ns, Median = 900.000 ns, Q3 = 1,000.000 ns, Max = 1,100.000 ns +IQR = 200.000 ns, LowerFence = 500.000 ns, UpperFence = 1,300.000 ns +ConfidenceInterval = [881.799 ns; 949.662 ns] (CI 99.9%), Margin = 33.932 ns (3.71% of Mean) +Skewness = 0.17, Kurtosis = 2.25, MValue = 5.39 + +// ** Remained 3 (60.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:47 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1820 1812 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 124400.00 ns, 124.4000 us/op +WorkloadJitting 1: 1 op, 97800.00 ns, 97.8000 us/op + +OverheadWarmup 1: 1 op, 1200.00 ns, 1.2000 us/op +OverheadWarmup 2: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadActual 2: 1 op, 300.00 ns, 300.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 20: 1 op, 0.00 ns, 0.0000 ns/op + +WorkloadWarmup 1: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 4: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 7: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 2: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 3: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 8: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 9: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 14: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 18: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 19: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 25: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 26: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 27: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 31: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 32: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 35: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 36: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 39: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 40: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 42: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 43: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 44: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 45: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 46: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 47: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 48: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 49: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 50: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 51: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 52: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 53: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 54: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 55: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 56: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 57: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 58: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 59: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 60: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 61: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 62: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 63: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 64: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 65: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 66: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 67: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 68: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 69: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 70: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 71: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 72: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 73: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 74: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 75: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 76: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 77: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 78: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 79: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 80: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 81: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 82: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 83: 1 op, 3600.00 ns, 3.6000 us/op +WorkloadActual 84: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 85: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 86: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 87: 1 op, 7500.00 ns, 7.5000 us/op +WorkloadActual 88: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 89: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 90: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 91: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 92: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 93: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 94: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 95: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 96: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 97: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 98: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 99: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 100: 1 op, 1800.00 ns, 1.8000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 18: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 19: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 25: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 26: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 27: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 31: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 32: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 33: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 35: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 36: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 39: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 40: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 42: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 43: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 44: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 45: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 46: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 47: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 48: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 49: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 50: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 51: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 52: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 53: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 54: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 55: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 56: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 57: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 58: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 59: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 60: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 61: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 62: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 64: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 65: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 66: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 67: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 68: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 69: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 70: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 71: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 72: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 73: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 74: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 75: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 76: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 79: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 80: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 81: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 82: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 83: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 84: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 85: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 86: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 87: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 88: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 89: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 90: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 91: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 92: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 93: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 94: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 95: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 96: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 97: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 98: 1 op, 1700.00 ns, 1.7000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 126424 has exited with code 0. + +Mean = 1.453 μs, StdErr = 0.051 μs (3.51%), N = 98, StdDev = 0.505 μs +Min = 0.600 μs, Q1 = 1.000 μs, Median = 1.500 μs, Q3 = 1.800 μs, Max = 2.700 μs +IQR = 0.800 μs, LowerFence = -0.200 μs, UpperFence = 3.000 μs +ConfidenceInterval = [1.280 μs; 1.626 μs] (CI 99.9%), Margin = 0.173 μs (11.91% of Mean) +Skewness = 0.22, Kurtosis = 2.43, MValue = 3.92 + +// ** Remained 2 (40.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:48 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1716 2108 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 125300.00 ns, 125.3000 us/op +WorkloadJitting 1: 1 op, 2121100.00 ns, 2.1211 ms/op + +OverheadWarmup 1: 1 op, 1200.00 ns, 1.2000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 3600.00 ns, 3.6000 us/op +WorkloadWarmup 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 7: 1 op, 1000.00 ns, 1.0000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 13: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 18: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 19: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 20: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 21: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 24: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 27: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 30: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 31: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 32: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 36: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 39: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 43: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 44: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 48: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 49: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 51: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 53: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 54: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 55: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 56: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 59: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 61: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 64: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 66: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 67: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 70: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 71: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 74: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 76: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 79: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 80: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 81: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 82: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 83: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 84: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 85: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 86: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 87: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 88: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 89: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 90: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 91: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 93: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 96: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 97: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 98: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 99: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 100: 1 op, 400.00 ns, 400.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 6: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 11: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 12: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 13: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 14: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 15: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 16: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 19: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 20: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 21: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 23: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 25: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 26: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 32: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 35: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 36: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 38: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 42: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 44: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 45: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 46: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 48: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 49: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 50: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 52: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 53: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 54: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 55: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 58: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 61: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 62: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 63: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 64: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 67: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 68: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 69: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 70: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 71: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 72: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 75: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 76: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 77: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 78: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 81: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 82: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 86: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 87: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 89: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 91: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 92: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 93: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 94: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 95: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 96: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 97: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 98: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 99: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 100: 1 op, 300.00 ns, 300.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 11228 has exited with code 0. + +Mean = 194.000 ns, StdErr = 13.167 ns (6.79%), N = 100, StdDev = 131.671 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 300.000 ns, Max = 500.000 ns +IQR = 200.000 ns, LowerFence = -200.000 ns, UpperFence = 600.000 ns +ConfidenceInterval = [149.343 ns; 238.657 ns] (CI 99.9%), Margin = 44.657 ns (23.02% of Mean) +Skewness = 0.79, Kurtosis = 3.1, MValue = 5.71 + +// ** Remained 1 (20.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:48 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.589 μs, StdErr = 0.046 μs (2.88%), N = 100, StdDev = 0.457 μs +Min = 1.000 μs, Q1 = 1.300 μs, Median = 1.400 μs, Q3 = 2.000 μs, Max = 2.800 μs +IQR = 0.700 μs, LowerFence = 0.250 μs, UpperFence = 3.050 μs +ConfidenceInterval = [1.434 μs; 1.744 μs] (CI 99.9%), Margin = 0.155 μs (9.75% of Mean) +Skewness = 0.94, Kurtosis = 2.51, MValue = 2.52 +-------------------- Histogram -------------------- +[0.871 μs ; 1.171 μs) | @@@@@@ +[1.171 μs ; 1.429 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.429 μs ; 1.729 μs) | @@@@@@@@@@@@@@ +[1.729 μs ; 1.971 μs) | @@ +[1.971 μs ; 2.271 μs) | @@@@@@@@@@@ +[2.271 μs ; 2.529 μs) | @@@@@@@@@@@@@ +[2.529 μs ; 2.829 μs) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 915.730 ns, StdErr = 9.967 ns (1.09%), N = 89, StdDev = 94.025 ns +Min = 700.000 ns, Q1 = 800.000 ns, Median = 900.000 ns, Q3 = 1,000.000 ns, Max = 1,100.000 ns +IQR = 200.000 ns, LowerFence = 500.000 ns, UpperFence = 1,300.000 ns +ConfidenceInterval = [881.799 ns; 949.662 ns] (CI 99.9%), Margin = 33.932 ns (3.71% of Mean) +Skewness = 0.17, Kurtosis = 2.25, MValue = 5.39 +-------------------- Histogram -------------------- +[ 672.360 ns ; 727.640 ns) | @ +[ 727.640 ns ; 772.360 ns) | +[ 772.360 ns ; 827.640 ns) | @@@@@@@@@@@@@@@@@@@@@@@ +[ 827.640 ns ; 872.360 ns) | +[ 872.360 ns ; 927.640 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 927.640 ns ; 972.360 ns) | +[ 972.360 ns ; 1,027.640 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[1,027.640 ns ; 1,072.360 ns) | +[1,072.360 ns ; 1,127.640 ns) | @@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.453 μs, StdErr = 0.051 μs (3.51%), N = 98, StdDev = 0.505 μs +Min = 0.600 μs, Q1 = 1.000 μs, Median = 1.500 μs, Q3 = 1.800 μs, Max = 2.700 μs +IQR = 0.800 μs, LowerFence = -0.200 μs, UpperFence = 3.000 μs +ConfidenceInterval = [1.280 μs; 1.626 μs] (CI 99.9%), Margin = 0.173 μs (11.91% of Mean) +Skewness = 0.22, Kurtosis = 2.43, MValue = 3.92 +-------------------- Histogram -------------------- +[0.456 μs ; 0.656 μs) | @ +[0.656 μs ; 0.944 μs) | @@@@@@@@@@@@@@@@@@@@@@@ +[0.944 μs ; 1.244 μs) | @@@@@@@@@@ +[1.244 μs ; 1.356 μs) | @@@@ +[1.356 μs ; 1.644 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[1.644 μs ; 1.944 μs) | @@@@@@@@@@@@@@@@@@@@@@@ +[1.944 μs ; 2.244 μs) | @@@@@@@ +[2.244 μs ; 2.456 μs) | +[2.456 μs ; 2.744 μs) | @@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 194.000 ns, StdErr = 13.167 ns (6.79%), N = 100, StdDev = 131.671 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 300.000 ns, Max = 500.000 ns +IQR = 200.000 ns, LowerFence = -200.000 ns, UpperFence = 600.000 ns +ConfidenceInterval = [149.343 ns; 238.657 ns] (CI 99.9%), Margin = 44.657 ns (23.02% of Mean) +Skewness = 0.79, Kurtosis = 3.1, MValue = 5.71 +-------------------- Histogram -------------------- +[ 0.000 ns ; 37.233 ns) | @@@@@@@@@ +[ 37.233 ns ; 62.767 ns) | +[ 62.767 ns ; 137.233 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[137.233 ns ; 162.767 ns) | +[162.767 ns ; 237.233 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[237.233 ns ; 262.767 ns) | +[262.767 ns ; 337.233 ns) | @@@@@@@@@@@@@@@@@ +[337.233 ns ; 362.767 ns) | +[362.767 ns ; 437.233 ns) | @@@ +[437.233 ns ; 462.767 ns) | +[462.767 ns ; 537.233 ns) | @@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Median | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 1,400.0 ns | 832 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 900.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,500.0 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 200.0 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 5.39) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.92) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 5.71) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1.1μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 800ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 700ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Mean, Error, StdDev +Outliers + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> 11 outliers were removed, 12 outliers were detected (800.00 ns, 1.30 μs..1.70 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 2 outliers were removed (3.60 μs, 7.50 μs) + +// * Legends * + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.19 sec), executed benchmarks: 4 + +// Found 1 benchmarks: +// AriaEngineInitBenchmark.Init: DefaultJob + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AriaEngineInitBenchmark.Init: DefaultJob +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1716 2184 --benchmarkName BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark.Init --job Default --benchmarkId 2 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: DefaultJob + +OverheadJitting 1: 1 op, 72800.00 ns, 72.8000 us/op +WorkloadJitting 1: 1 op, 2150100.00 ns, 2.1501 ms/op + +OverheadJitting 2: 16 op, 110400.00 ns, 6.9000 us/op +WorkloadJitting 2: 16 op, 153000.00 ns, 9.5625 us/op + +WorkloadPilot 1: 16 op, 40600.00 ns, 2.5375 us/op +WorkloadPilot 2: 32 op, 89600.00 ns, 2.8000 us/op +WorkloadPilot 3: 64 op, 158600.00 ns, 2.4781 us/op +WorkloadPilot 4: 128 op, 263600.00 ns, 2.0594 us/op +WorkloadPilot 5: 256 op, 465800.00 ns, 1.8195 us/op +WorkloadPilot 6: 512 op, 859900.00 ns, 1.6795 us/op +WorkloadPilot 7: 1024 op, 1699200.00 ns, 1.6594 us/op +WorkloadPilot 8: 2048 op, 3249400.00 ns, 1.5866 us/op +WorkloadPilot 9: 4096 op, 6366000.00 ns, 1.5542 us/op +WorkloadPilot 10: 8192 op, 12647800.00 ns, 1.5439 us/op +WorkloadPilot 11: 16384 op, 24786600.00 ns, 1.5129 us/op +WorkloadPilot 12: 32768 op, 45565600.00 ns, 1.3906 us/op +WorkloadPilot 13: 65536 op, 64290700.00 ns, 980.9982 ns/op +WorkloadPilot 14: 131072 op, 32751500.00 ns, 249.8741 ns/op +WorkloadPilot 15: 262144 op, 64975900.00 ns, 247.8634 ns/op +WorkloadPilot 16: 524288 op, 128292200.00 ns, 244.6980 ns/op +WorkloadPilot 17: 1048576 op, 258469700.00 ns, 246.4959 ns/op +WorkloadPilot 18: 2097152 op, 521060800.00 ns, 248.4612 ns/op + +OverheadWarmup 1: 2097152 op, 3292200.00 ns, 1.5698 ns/op +OverheadWarmup 2: 2097152 op, 3171100.00 ns, 1.5121 ns/op +OverheadWarmup 3: 2097152 op, 3180400.00 ns, 1.5165 ns/op +OverheadWarmup 4: 2097152 op, 3172500.00 ns, 1.5128 ns/op +OverheadWarmup 5: 2097152 op, 3254300.00 ns, 1.5518 ns/op +OverheadWarmup 6: 2097152 op, 3188700.00 ns, 1.5205 ns/op + +OverheadActual 1: 2097152 op, 3168600.00 ns, 1.5109 ns/op +OverheadActual 2: 2097152 op, 3168400.00 ns, 1.5108 ns/op +OverheadActual 3: 2097152 op, 3180100.00 ns, 1.5164 ns/op +OverheadActual 4: 2097152 op, 3166800.00 ns, 1.5100 ns/op +OverheadActual 5: 2097152 op, 3168400.00 ns, 1.5108 ns/op +OverheadActual 6: 2097152 op, 3363300.00 ns, 1.6037 ns/op +OverheadActual 7: 2097152 op, 3218600.00 ns, 1.5347 ns/op +OverheadActual 8: 2097152 op, 3279400.00 ns, 1.5637 ns/op +OverheadActual 9: 2097152 op, 3300700.00 ns, 1.5739 ns/op +OverheadActual 10: 2097152 op, 3166100.00 ns, 1.5097 ns/op +OverheadActual 11: 2097152 op, 3181100.00 ns, 1.5169 ns/op +OverheadActual 12: 2097152 op, 3264600.00 ns, 1.5567 ns/op +OverheadActual 13: 2097152 op, 3358600.00 ns, 1.6015 ns/op +OverheadActual 14: 2097152 op, 3177700.00 ns, 1.5152 ns/op +OverheadActual 15: 2097152 op, 3166500.00 ns, 1.5099 ns/op + +WorkloadWarmup 1: 2097152 op, 524119200.00 ns, 249.9195 ns/op +WorkloadWarmup 2: 2097152 op, 505697100.00 ns, 241.1352 ns/op +WorkloadWarmup 3: 2097152 op, 495696500.00 ns, 236.3665 ns/op +WorkloadWarmup 4: 2097152 op, 528381800.00 ns, 251.9521 ns/op +WorkloadWarmup 5: 2097152 op, 511768500.00 ns, 244.0302 ns/op +WorkloadWarmup 6: 2097152 op, 500092200.00 ns, 238.4625 ns/op +WorkloadWarmup 7: 2097152 op, 500224200.00 ns, 238.5255 ns/op +WorkloadWarmup 8: 2097152 op, 508549900.00 ns, 242.4955 ns/op +WorkloadWarmup 9: 2097152 op, 513036800.00 ns, 244.6350 ns/op +WorkloadWarmup 10: 2097152 op, 515820900.00 ns, 245.9626 ns/op +WorkloadWarmup 11: 2097152 op, 513059900.00 ns, 244.6460 ns/op + +// BeforeActualRun +WorkloadActual 1: 2097152 op, 536323600.00 ns, 255.7390 ns/op +WorkloadActual 2: 2097152 op, 527650800.00 ns, 251.6035 ns/op +WorkloadActual 3: 2097152 op, 526955800.00 ns, 251.2721 ns/op +WorkloadActual 4: 2097152 op, 514270700.00 ns, 245.2234 ns/op +WorkloadActual 5: 2097152 op, 505120500.00 ns, 240.8602 ns/op +WorkloadActual 6: 2097152 op, 510946900.00 ns, 243.6385 ns/op +WorkloadActual 7: 2097152 op, 520815100.00 ns, 248.3440 ns/op +WorkloadActual 8: 2097152 op, 516219300.00 ns, 246.1525 ns/op +WorkloadActual 9: 2097152 op, 503898200.00 ns, 240.2774 ns/op +WorkloadActual 10: 2097152 op, 509101500.00 ns, 242.7585 ns/op +WorkloadActual 11: 2097152 op, 511129100.00 ns, 243.7253 ns/op +WorkloadActual 12: 2097152 op, 511240000.00 ns, 243.7782 ns/op +WorkloadActual 13: 2097152 op, 511981800.00 ns, 244.1319 ns/op +WorkloadActual 14: 2097152 op, 506012900.00 ns, 241.2858 ns/op +WorkloadActual 15: 2097152 op, 504790000.00 ns, 240.7026 ns/op + +// AfterActualRun +WorkloadResult 1: 2097152 op, 524470700.00 ns, 250.0871 ns/op +WorkloadResult 2: 2097152 op, 523775700.00 ns, 249.7557 ns/op +WorkloadResult 3: 2097152 op, 511090600.00 ns, 243.7070 ns/op +WorkloadResult 4: 2097152 op, 501940400.00 ns, 239.3438 ns/op +WorkloadResult 5: 2097152 op, 507766800.00 ns, 242.1221 ns/op +WorkloadResult 6: 2097152 op, 517635000.00 ns, 246.8276 ns/op +WorkloadResult 7: 2097152 op, 513039200.00 ns, 244.6362 ns/op +WorkloadResult 8: 2097152 op, 500718100.00 ns, 238.7610 ns/op +WorkloadResult 9: 2097152 op, 505921400.00 ns, 241.2421 ns/op +WorkloadResult 10: 2097152 op, 507949000.00 ns, 242.2090 ns/op +WorkloadResult 11: 2097152 op, 508059900.00 ns, 242.2618 ns/op +WorkloadResult 12: 2097152 op, 508801700.00 ns, 242.6156 ns/op +WorkloadResult 13: 2097152 op, 502832800.00 ns, 239.7694 ns/op +WorkloadResult 14: 2097152 op, 501609900.00 ns, 239.1862 ns/op +// GC: 103 0 0 1946157056 2097152 +// Threading: 0 0 2097152 + +// AfterAll +// Benchmark Process 38352 has exited with code 0. + +Mean = 243.037 ns, StdErr = 0.981 ns (0.40%), N = 14, StdDev = 3.671 ns +Min = 238.761 ns, Q1 = 240.138 ns, Median = 242.235 ns, Q3 = 244.404 ns, Max = 250.087 ns +IQR = 4.266 ns, LowerFence = 233.738 ns, UpperFence = 250.803 ns +ConfidenceInterval = [238.897 ns; 247.178 ns] (CI 99.9%), Margin = 4.141 ns (1.70% of Mean) +Skewness = 0.7, Kurtosis = 2.2, MValue = 2 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:48 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.html + +// * Detailed results * +AriaEngineInitBenchmark.Init: DefaultJob +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 243.037 ns, StdErr = 0.981 ns (0.40%), N = 14, StdDev = 3.671 ns +Min = 238.761 ns, Q1 = 240.138 ns, Median = 242.235 ns, Q3 = 244.404 ns, Max = 250.087 ns +IQR = 4.266 ns, LowerFence = 233.738 ns, UpperFence = 250.803 ns +ConfidenceInterval = [238.897 ns; 247.178 ns] (CI 99.9%), Margin = 4.141 ns (1.70% of Mean) +Skewness = 0.7, Kurtosis = 2.2, MValue = 2 +-------------------- Histogram -------------------- +[238.281 ns ; 252.086 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + + +| Method | Mean | Error | StdDev | +|------- |---------:|--------:|--------:| +| Init | 243.0 ns | 4.14 ns | 3.67 ns | + +// * Hints * +Outliers + AriaEngineInitBenchmark.Init: Default -> 1 outlier was removed (255.74 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + Error : Half of 99.9% confidence interval + StdDev : Standard deviation of all measurements + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - CPUUsageDiagnoser * +Saving diagsession as a file. This may take a moment... +Exported diagsession file: D:\repos\bcgit\bc-csharp\BenchmarkDotNet.Artifacts\BenchmarkDotNet_AriaEngineInitBenchmark_20260210_084818.diagsession. + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:17 (17.54 sec), executed benchmarks: 1 + +Global total time: 00:00:41 (41.51 sec), executed benchmarks: 5 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-185118.log b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-185118.log new file mode 100644 index 000000000..49e9e119f --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-185118.log @@ -0,0 +1,4215 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 32 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.07 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.65 sec and exited with 0 +// ***** Done, took 00:00:08 (8.83 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.99 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.48 sec and exited with 1 +// ***** Done, took 00:00:06 (6.5 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2128 1828 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 75100.00 ns, 75.1000 us/op +WorkloadJitting 1: 1 op, 120700.00 ns, 120.7000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 4: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 6: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 7: 1 op, 900.00 ns, 900.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 4: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 5: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 14: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 31: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 42: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 45: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 46: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 47: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 48: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 49: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 53: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 54: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 58: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 60: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 63: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 64: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 65: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 66: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 70: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 71: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 74: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 75: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 76: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 77: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 79: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 81: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 82: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 84: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 85: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 86: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 88: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 89: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 90: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 91: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 94: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 95: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 98: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 99: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 100: 1 op, 800.00 ns, 800.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 3: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 14: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 20: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 25: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 31: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 37: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 42: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 45: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 47: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 48: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 49: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 50: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 52: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 53: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 54: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 57: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 58: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 59: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 63: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 64: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 65: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 66: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 69: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 70: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 73: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 74: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 75: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 78: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 79: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 81: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 84: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 85: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 86: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 87: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 88: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 89: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 92: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 93: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 94: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 95: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 96: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 97: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 98: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 99: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 100: 1 op, 700.00 ns, 700.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 118344 has exited with code 0. + +Mean = 830.000 ns, StdErr = 21.626 ns (2.61%), N = 100, StdDev = 216.258 ns +Min = 500.000 ns, Q1 = 700.000 ns, Median = 800.000 ns, Q3 = 1,000.000 ns, Max = 1,300.000 ns +IQR = 300.000 ns, LowerFence = 250.000 ns, UpperFence = 1,450.000 ns +ConfidenceInterval = [756.655 ns; 903.345 ns] (CI 99.9%), Margin = 73.345 ns (8.84% of Mean) +Skewness = 0.49, Kurtosis = 2.16, MValue = 4.11 + +// ** Remained 31 (96.9%) benchmark(s) to run. Estimated finish 2026-02-23 18:51 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2392 2032 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 78300.00 ns, 78.3000 us/op +WorkloadJitting 1: 1 op, 556400.00 ns, 556.4000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 6900.00 ns, 6.9000 us/op +WorkloadWarmup 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 6: 1 op, 500.00 ns, 500.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 14: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 18: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 21: 1 op, 400.00 ns, 400.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 9: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 11: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 12: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 14: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 16: 1 op, 300.00 ns, 300.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 118260 has exited with code 0. + +Mean = 300.000 ns, StdErr = 0.000 ns (0.00%), N = 16, StdDev = 0.000 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 300.000 ns, Q3 = 300.000 ns, Max = 300.000 ns +IQR = 0.000 ns, LowerFence = 300.000 ns, UpperFence = 300.000 ns +ConfidenceInterval = [300.000 ns; 300.000 ns] (CI 99.9%), Margin = 0.000 ns (0.00% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 + +// ** Remained 30 (93.8%) benchmark(s) to run. Estimated finish 2026-02-23 18:51 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 29 (90.6%) benchmark(s) to run. Estimated finish 2026-02-23 18:51 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 28 (87.5%) benchmark(s) to run. Estimated finish 2026-02-23 18:51 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 830.000 ns, StdErr = 21.626 ns (2.61%), N = 100, StdDev = 216.258 ns +Min = 500.000 ns, Q1 = 700.000 ns, Median = 800.000 ns, Q3 = 1,000.000 ns, Max = 1,300.000 ns +IQR = 300.000 ns, LowerFence = 250.000 ns, UpperFence = 1,450.000 ns +ConfidenceInterval = [756.655 ns; 903.345 ns] (CI 99.9%), Margin = 73.345 ns (8.84% of Mean) +Skewness = 0.49, Kurtosis = 2.16, MValue = 4.11 +-------------------- Histogram -------------------- +[ 438.849 ns ; 561.151 ns) | @@@@@ +[ 561.151 ns ; 711.151 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 711.151 ns ; 788.849 ns) | +[ 788.849 ns ; 911.151 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 911.151 ns ; 1,061.151 ns) | @@@@@@@ +[1,061.151 ns ; 1,211.151 ns) | @@@@@@@@@@@@@@@@@@ +[1,211.151 ns ; 1,361.151 ns) | @@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 300.000 ns, StdErr = 0.000 ns (0.00%), N = 16, StdDev = 0.000 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 300.000 ns, Q3 = 300.000 ns, Max = 300.000 ns +IQR = 0.000 ns, LowerFence = 300.000 ns, UpperFence = 300.000 ns +ConfidenceInterval = [300.000 ns; 300.000 ns] (CI 99.9%), Margin = 0.000 ns (0.00% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[299.500 ns ; 300.500 ns) | @@@@@@@@@@@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = ; GC = +There are not any results runs + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = ; GC = +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |---------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 830.0 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 300.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | NA | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | NA | + +Benchmarks with issues: + AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is bimodal (mValue = 4.11) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 400ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev +Outliers + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> 5 outliers were removed (500.00 ns..600.00 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:00 (0.7 sec), executed benchmarks: 2 + +// Found 10 benchmarks: +// ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2468 2536 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneSmall16Bytes --job ".NET 10.0" --benchmarkId 2 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 76800.00 ns, 76.8000 us/op +WorkloadJitting 1: 1 op, 817600.00 ns, 817.6000 us/op + +OverheadJitting 2: 16 op, 115500.00 ns, 7.2188 us/op +WorkloadJitting 2: 16 op, 129000.00 ns, 8.0625 us/op + +WorkloadPilot 1: 16 op, 2100.00 ns, 131.2500 ns/op +WorkloadPilot 2: 32 op, 2300.00 ns, 71.8750 ns/op +WorkloadPilot 3: 64 op, 7700.00 ns, 120.3125 ns/op +WorkloadPilot 4: 128 op, 11800.00 ns, 92.1875 ns/op +WorkloadPilot 5: 256 op, 15900.00 ns, 62.1094 ns/op +WorkloadPilot 6: 512 op, 25500.00 ns, 49.8047 ns/op +WorkloadPilot 7: 1024 op, 53200.00 ns, 51.9531 ns/op +WorkloadPilot 8: 2048 op, 113400.00 ns, 55.3711 ns/op +WorkloadPilot 9: 4096 op, 229700.00 ns, 56.0791 ns/op +WorkloadPilot 10: 8192 op, 388600.00 ns, 47.4365 ns/op +WorkloadPilot 11: 16384 op, 801300.00 ns, 48.9075 ns/op +WorkloadPilot 12: 32768 op, 1627900.00 ns, 49.6796 ns/op +WorkloadPilot 13: 65536 op, 3072700.00 ns, 46.8857 ns/op +WorkloadPilot 14: 131072 op, 6004700.00 ns, 45.8122 ns/op +WorkloadPilot 15: 262144 op, 12370100.00 ns, 47.1882 ns/op +WorkloadPilot 16: 524288 op, 22268600.00 ns, 42.4740 ns/op +WorkloadPilot 17: 1048576 op, 42189400.00 ns, 40.2349 ns/op +WorkloadPilot 18: 2097152 op, 78953300.00 ns, 37.6479 ns/op +WorkloadPilot 19: 4194304 op, 148134900.00 ns, 35.3181 ns/op +WorkloadPilot 20: 8388608 op, 285468700.00 ns, 34.0305 ns/op +WorkloadPilot 21: 16777216 op, 573242700.00 ns, 34.1679 ns/op + +OverheadWarmup 1: 16777216 op, 22261500.00 ns, 1.3269 ns/op +OverheadWarmup 2: 16777216 op, 22311000.00 ns, 1.3298 ns/op +OverheadWarmup 3: 16777216 op, 22274800.00 ns, 1.3277 ns/op +OverheadWarmup 4: 16777216 op, 22268400.00 ns, 1.3273 ns/op +OverheadWarmup 5: 16777216 op, 22307600.00 ns, 1.3296 ns/op +OverheadWarmup 6: 16777216 op, 22227200.00 ns, 1.3248 ns/op + +OverheadActual 1: 16777216 op, 22283900.00 ns, 1.3282 ns/op +OverheadActual 2: 16777216 op, 22282400.00 ns, 1.3281 ns/op +OverheadActual 3: 16777216 op, 22351500.00 ns, 1.3323 ns/op +OverheadActual 4: 16777216 op, 22279200.00 ns, 1.3279 ns/op +OverheadActual 5: 16777216 op, 22258100.00 ns, 1.3267 ns/op +OverheadActual 6: 16777216 op, 22238100.00 ns, 1.3255 ns/op +OverheadActual 7: 16777216 op, 22247400.00 ns, 1.3260 ns/op +OverheadActual 8: 16777216 op, 22294200.00 ns, 1.3288 ns/op +OverheadActual 9: 16777216 op, 22368900.00 ns, 1.3333 ns/op +OverheadActual 10: 16777216 op, 22269900.00 ns, 1.3274 ns/op +OverheadActual 11: 16777216 op, 22250800.00 ns, 1.3263 ns/op +OverheadActual 12: 16777216 op, 22255000.00 ns, 1.3265 ns/op +OverheadActual 13: 16777216 op, 22444100.00 ns, 1.3378 ns/op +OverheadActual 14: 16777216 op, 18234900.00 ns, 1.0869 ns/op +OverheadActual 15: 16777216 op, 17645600.00 ns, 1.0518 ns/op +OverheadActual 16: 16777216 op, 17619700.00 ns, 1.0502 ns/op +OverheadActual 17: 16777216 op, 17870000.00 ns, 1.0651 ns/op +OverheadActual 18: 16777216 op, 17646400.00 ns, 1.0518 ns/op +OverheadActual 19: 16777216 op, 17655900.00 ns, 1.0524 ns/op +OverheadActual 20: 16777216 op, 17618300.00 ns, 1.0501 ns/op + +WorkloadWarmup 1: 16777216 op, 576781700.00 ns, 34.3789 ns/op +WorkloadWarmup 2: 16777216 op, 578598300.00 ns, 34.4871 ns/op +WorkloadWarmup 3: 16777216 op, 571364300.00 ns, 34.0560 ns/op +WorkloadWarmup 4: 16777216 op, 571351300.00 ns, 34.0552 ns/op +WorkloadWarmup 5: 16777216 op, 573000900.00 ns, 34.1535 ns/op +WorkloadWarmup 6: 16777216 op, 575104400.00 ns, 34.2789 ns/op +WorkloadWarmup 7: 16777216 op, 571476300.00 ns, 34.0626 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 594514100.00 ns, 35.4358 ns/op +WorkloadActual 2: 16777216 op, 582536800.00 ns, 34.7219 ns/op +WorkloadActual 3: 16777216 op, 585371600.00 ns, 34.8909 ns/op +WorkloadActual 4: 16777216 op, 585990100.00 ns, 34.9277 ns/op +WorkloadActual 5: 16777216 op, 589600100.00 ns, 35.1429 ns/op +WorkloadActual 6: 16777216 op, 582671500.00 ns, 34.7299 ns/op +WorkloadActual 7: 16777216 op, 584877300.00 ns, 34.8614 ns/op +WorkloadActual 8: 16777216 op, 584943800.00 ns, 34.8654 ns/op +WorkloadActual 9: 16777216 op, 586366300.00 ns, 34.9502 ns/op +WorkloadActual 10: 16777216 op, 594891000.00 ns, 35.4583 ns/op +WorkloadActual 11: 16777216 op, 591676300.00 ns, 35.2667 ns/op +WorkloadActual 12: 16777216 op, 592728100.00 ns, 35.3293 ns/op +WorkloadActual 13: 16777216 op, 595411500.00 ns, 35.4893 ns/op +WorkloadActual 14: 16777216 op, 592488300.00 ns, 35.3151 ns/op +WorkloadActual 15: 16777216 op, 591874500.00 ns, 35.2785 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 572261200.00 ns, 34.1094 ns/op +WorkloadResult 2: 16777216 op, 560283900.00 ns, 33.3955 ns/op +WorkloadResult 3: 16777216 op, 563118700.00 ns, 33.5645 ns/op +WorkloadResult 4: 16777216 op, 563737200.00 ns, 33.6014 ns/op +WorkloadResult 5: 16777216 op, 567347200.00 ns, 33.8165 ns/op +WorkloadResult 6: 16777216 op, 560418600.00 ns, 33.4036 ns/op +WorkloadResult 7: 16777216 op, 562624400.00 ns, 33.5350 ns/op +WorkloadResult 8: 16777216 op, 562690900.00 ns, 33.5390 ns/op +WorkloadResult 9: 16777216 op, 564113400.00 ns, 33.6238 ns/op +WorkloadResult 10: 16777216 op, 572638100.00 ns, 34.1319 ns/op +WorkloadResult 11: 16777216 op, 569423400.00 ns, 33.9403 ns/op +WorkloadResult 12: 16777216 op, 570475200.00 ns, 34.0030 ns/op +WorkloadResult 13: 16777216 op, 573158600.00 ns, 34.1629 ns/op +WorkloadResult 14: 16777216 op, 570235400.00 ns, 33.9887 ns/op +WorkloadResult 15: 16777216 op, 569621600.00 ns, 33.9521 ns/op +// GC: 35 0 0 671088640 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 108976 has exited with code 0. + +Mean = 33.784 ns, StdErr = 0.070 ns (0.21%), N = 15, StdDev = 0.272 ns +Min = 33.396 ns, Q1 = 33.552 ns, Median = 33.817 ns, Q3 = 33.996 ns, Max = 34.163 ns +IQR = 0.444 ns, LowerFence = 32.886 ns, UpperFence = 34.662 ns +ConfidenceInterval = [33.493 ns; 34.076 ns] (CI 99.9%), Margin = 0.291 ns (0.86% of Mean) +Skewness = -0.02, Kurtosis = 1.3, MValue = 2 + +// ** Remained 27 (84.4%) benchmark(s) to run. Estimated finish 2026-02-23 18:53 (0h 1m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 656 648 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneMedium128Bytes --job ".NET 10.0" --benchmarkId 3 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 75300.00 ns, 75.3000 us/op +WorkloadJitting 1: 1 op, 747800.00 ns, 747.8000 us/op + +OverheadJitting 2: 16 op, 126000.00 ns, 7.8750 us/op +WorkloadJitting 2: 16 op, 114600.00 ns, 7.1625 us/op + +WorkloadPilot 1: 16 op, 1900.00 ns, 118.7500 ns/op +WorkloadPilot 2: 32 op, 2400.00 ns, 75.0000 ns/op +WorkloadPilot 3: 64 op, 11700.00 ns, 182.8125 ns/op +WorkloadPilot 4: 128 op, 16400.00 ns, 128.1250 ns/op +WorkloadPilot 5: 256 op, 23800.00 ns, 92.9688 ns/op +WorkloadPilot 6: 512 op, 43300.00 ns, 84.5703 ns/op +WorkloadPilot 7: 1024 op, 85100.00 ns, 83.1055 ns/op +WorkloadPilot 8: 2048 op, 141400.00 ns, 69.0430 ns/op +WorkloadPilot 9: 4096 op, 271800.00 ns, 66.3574 ns/op +WorkloadPilot 10: 8192 op, 560400.00 ns, 68.4082 ns/op +WorkloadPilot 11: 16384 op, 1252800.00 ns, 76.4648 ns/op +WorkloadPilot 12: 32768 op, 2479800.00 ns, 75.6775 ns/op +WorkloadPilot 13: 65536 op, 4437600.00 ns, 67.7124 ns/op +WorkloadPilot 14: 131072 op, 8454400.00 ns, 64.5020 ns/op +WorkloadPilot 15: 262144 op, 10355300.00 ns, 39.5023 ns/op +WorkloadPilot 16: 524288 op, 20617300.00 ns, 39.3244 ns/op +WorkloadPilot 17: 1048576 op, 42099000.00 ns, 40.1487 ns/op +WorkloadPilot 18: 2097152 op, 82447600.00 ns, 39.3141 ns/op +WorkloadPilot 19: 4194304 op, 147082000.00 ns, 35.0671 ns/op +WorkloadPilot 20: 8388608 op, 298478400.00 ns, 35.5814 ns/op +WorkloadPilot 21: 16777216 op, 597182900.00 ns, 35.5949 ns/op + +OverheadWarmup 1: 16777216 op, 22859800.00 ns, 1.3626 ns/op +OverheadWarmup 2: 16777216 op, 22382800.00 ns, 1.3341 ns/op +OverheadWarmup 3: 16777216 op, 22392400.00 ns, 1.3347 ns/op +OverheadWarmup 4: 16777216 op, 22557700.00 ns, 1.3445 ns/op +OverheadWarmup 5: 16777216 op, 22441700.00 ns, 1.3376 ns/op +OverheadWarmup 6: 16777216 op, 22476800.00 ns, 1.3397 ns/op +OverheadWarmup 7: 16777216 op, 22426600.00 ns, 1.3367 ns/op + +OverheadActual 1: 16777216 op, 22455300.00 ns, 1.3384 ns/op +OverheadActual 2: 16777216 op, 22513400.00 ns, 1.3419 ns/op +OverheadActual 3: 16777216 op, 22594900.00 ns, 1.3468 ns/op +OverheadActual 4: 16777216 op, 22462000.00 ns, 1.3388 ns/op +OverheadActual 5: 16777216 op, 22423900.00 ns, 1.3366 ns/op +OverheadActual 6: 16777216 op, 22420200.00 ns, 1.3363 ns/op +OverheadActual 7: 16777216 op, 22493800.00 ns, 1.3407 ns/op +OverheadActual 8: 16777216 op, 22422100.00 ns, 1.3365 ns/op +OverheadActual 9: 16777216 op, 22438100.00 ns, 1.3374 ns/op +OverheadActual 10: 16777216 op, 22420500.00 ns, 1.3364 ns/op +OverheadActual 11: 16777216 op, 22465600.00 ns, 1.3391 ns/op +OverheadActual 12: 16777216 op, 22407600.00 ns, 1.3356 ns/op +OverheadActual 13: 16777216 op, 18652500.00 ns, 1.1118 ns/op +OverheadActual 14: 16777216 op, 17756200.00 ns, 1.0584 ns/op +OverheadActual 15: 16777216 op, 17755100.00 ns, 1.0583 ns/op +OverheadActual 16: 16777216 op, 17705900.00 ns, 1.0554 ns/op +OverheadActual 17: 16777216 op, 17704600.00 ns, 1.0553 ns/op +OverheadActual 18: 16777216 op, 17718400.00 ns, 1.0561 ns/op +OverheadActual 19: 16777216 op, 17714200.00 ns, 1.0558 ns/op +OverheadActual 20: 16777216 op, 17763300.00 ns, 1.0588 ns/op + +WorkloadWarmup 1: 16777216 op, 595737200.00 ns, 35.5087 ns/op +WorkloadWarmup 2: 16777216 op, 598505500.00 ns, 35.6737 ns/op +WorkloadWarmup 3: 16777216 op, 594102300.00 ns, 35.4113 ns/op +WorkloadWarmup 4: 16777216 op, 591072900.00 ns, 35.2307 ns/op +WorkloadWarmup 5: 16777216 op, 593563300.00 ns, 35.3791 ns/op +WorkloadWarmup 6: 16777216 op, 588261900.00 ns, 35.0631 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 591642700.00 ns, 35.2647 ns/op +WorkloadActual 2: 16777216 op, 591100600.00 ns, 35.2323 ns/op +WorkloadActual 3: 16777216 op, 591882800.00 ns, 35.2790 ns/op +WorkloadActual 4: 16777216 op, 595586500.00 ns, 35.4997 ns/op +WorkloadActual 5: 16777216 op, 590952200.00 ns, 35.2235 ns/op +WorkloadActual 6: 16777216 op, 590749900.00 ns, 35.2114 ns/op +WorkloadActual 7: 16777216 op, 591717500.00 ns, 35.2691 ns/op +WorkloadActual 8: 16777216 op, 591294800.00 ns, 35.2439 ns/op +WorkloadActual 9: 16777216 op, 590568400.00 ns, 35.2006 ns/op +WorkloadActual 10: 16777216 op, 589739400.00 ns, 35.1512 ns/op +WorkloadActual 11: 16777216 op, 591257000.00 ns, 35.2417 ns/op +WorkloadActual 12: 16777216 op, 591912000.00 ns, 35.2807 ns/op +WorkloadActual 13: 16777216 op, 593804800.00 ns, 35.3935 ns/op +WorkloadActual 14: 16777216 op, 591393100.00 ns, 35.2498 ns/op +WorkloadActual 15: 16777216 op, 595607300.00 ns, 35.5010 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 569222350.00 ns, 33.9283 ns/op +WorkloadResult 2: 16777216 op, 568680250.00 ns, 33.8960 ns/op +WorkloadResult 3: 16777216 op, 569462450.00 ns, 33.9426 ns/op +WorkloadResult 4: 16777216 op, 568531850.00 ns, 33.8871 ns/op +WorkloadResult 5: 16777216 op, 568329550.00 ns, 33.8751 ns/op +WorkloadResult 6: 16777216 op, 569297150.00 ns, 33.9328 ns/op +WorkloadResult 7: 16777216 op, 568874450.00 ns, 33.9076 ns/op +WorkloadResult 8: 16777216 op, 568148050.00 ns, 33.8643 ns/op +WorkloadResult 9: 16777216 op, 567319050.00 ns, 33.8149 ns/op +WorkloadResult 10: 16777216 op, 568836650.00 ns, 33.9053 ns/op +WorkloadResult 11: 16777216 op, 569491650.00 ns, 33.9443 ns/op +WorkloadResult 12: 16777216 op, 568972750.00 ns, 33.9134 ns/op +// GC: 135 0 0 2550136832 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 119336 has exited with code 0. + +Mean = 33.901 ns, StdErr = 0.011 ns (0.03%), N = 12, StdDev = 0.037 ns +Min = 33.815 ns, Q1 = 33.884 ns, Median = 33.906 ns, Q3 = 33.929 ns, Max = 33.944 ns +IQR = 0.045 ns, LowerFence = 33.816 ns, UpperFence = 33.997 ns +ConfidenceInterval = [33.853 ns; 33.949 ns] (CI 99.9%), Margin = 0.048 ns (0.14% of Mean) +Skewness = -0.81, Kurtosis = 2.84, MValue = 2 + +// ** Remained 26 (81.2%) benchmark(s) to run. Estimated finish 2026-02-23 18:55 (0h 2m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2508 2584 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLarge1024Bytes --job ".NET 10.0" --benchmarkId 4 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 75800.00 ns, 75.8000 us/op +WorkloadJitting 1: 1 op, 759600.00 ns, 759.6000 us/op + +OverheadJitting 2: 16 op, 108100.00 ns, 6.7563 us/op +WorkloadJitting 2: 16 op, 116600.00 ns, 7.2875 us/op + +WorkloadPilot 1: 16 op, 2500.00 ns, 156.2500 ns/op +WorkloadPilot 2: 32 op, 10200.00 ns, 318.7500 ns/op +WorkloadPilot 3: 64 op, 24700.00 ns, 385.9375 ns/op +WorkloadPilot 4: 128 op, 42500.00 ns, 332.0313 ns/op +WorkloadPilot 5: 256 op, 73300.00 ns, 286.3281 ns/op +WorkloadPilot 6: 512 op, 264300.00 ns, 516.2109 ns/op +WorkloadPilot 7: 1024 op, 220500.00 ns, 215.3320 ns/op +WorkloadPilot 8: 2048 op, 477200.00 ns, 233.0078 ns/op +WorkloadPilot 9: 4096 op, 900400.00 ns, 219.8242 ns/op +WorkloadPilot 10: 8192 op, 1871100.00 ns, 228.4058 ns/op +WorkloadPilot 11: 16384 op, 3924100.00 ns, 239.5081 ns/op +WorkloadPilot 12: 32768 op, 2590600.00 ns, 79.0588 ns/op +WorkloadPilot 13: 65536 op, 4347000.00 ns, 66.3300 ns/op +WorkloadPilot 14: 131072 op, 7999800.00 ns, 61.0336 ns/op +WorkloadPilot 15: 262144 op, 15174100.00 ns, 57.8846 ns/op +WorkloadPilot 16: 524288 op, 29005400.00 ns, 55.3234 ns/op +WorkloadPilot 17: 1048576 op, 57907500.00 ns, 55.2249 ns/op +WorkloadPilot 18: 2097152 op, 112948800.00 ns, 53.8582 ns/op +WorkloadPilot 19: 4194304 op, 221184500.00 ns, 52.7345 ns/op +WorkloadPilot 20: 8388608 op, 452115900.00 ns, 53.8964 ns/op +WorkloadPilot 21: 16777216 op, 889202100.00 ns, 53.0006 ns/op + +OverheadWarmup 1: 16777216 op, 22382200.00 ns, 1.3341 ns/op +OverheadWarmup 2: 16777216 op, 22342000.00 ns, 1.3317 ns/op +OverheadWarmup 3: 16777216 op, 22394100.00 ns, 1.3348 ns/op +OverheadWarmup 4: 16777216 op, 22361100.00 ns, 1.3328 ns/op +OverheadWarmup 5: 16777216 op, 22382900.00 ns, 1.3341 ns/op +OverheadWarmup 6: 16777216 op, 22381700.00 ns, 1.3341 ns/op + +OverheadActual 1: 16777216 op, 22362400.00 ns, 1.3329 ns/op +OverheadActual 2: 16777216 op, 22399200.00 ns, 1.3351 ns/op +OverheadActual 3: 16777216 op, 22368800.00 ns, 1.3333 ns/op +OverheadActual 4: 16777216 op, 22442000.00 ns, 1.3376 ns/op +OverheadActual 5: 16777216 op, 22415900.00 ns, 1.3361 ns/op +OverheadActual 6: 16777216 op, 22477000.00 ns, 1.3397 ns/op +OverheadActual 7: 16777216 op, 22391700.00 ns, 1.3346 ns/op +OverheadActual 8: 16777216 op, 22394300.00 ns, 1.3348 ns/op +OverheadActual 9: 16777216 op, 22387100.00 ns, 1.3344 ns/op +OverheadActual 10: 16777216 op, 22445500.00 ns, 1.3379 ns/op +OverheadActual 11: 16777216 op, 22391000.00 ns, 1.3346 ns/op +OverheadActual 12: 16777216 op, 22506900.00 ns, 1.3415 ns/op +OverheadActual 13: 16777216 op, 22410000.00 ns, 1.3357 ns/op +OverheadActual 14: 16777216 op, 18806500.00 ns, 1.1210 ns/op +OverheadActual 15: 16777216 op, 17803500.00 ns, 1.0612 ns/op +OverheadActual 16: 16777216 op, 17813200.00 ns, 1.0617 ns/op +OverheadActual 17: 16777216 op, 17828300.00 ns, 1.0626 ns/op +OverheadActual 18: 16777216 op, 17949300.00 ns, 1.0699 ns/op +OverheadActual 19: 16777216 op, 18031900.00 ns, 1.0748 ns/op +OverheadActual 20: 16777216 op, 17786100.00 ns, 1.0601 ns/op + +WorkloadWarmup 1: 16777216 op, 925332300.00 ns, 55.1541 ns/op +WorkloadWarmup 2: 16777216 op, 927449300.00 ns, 55.2803 ns/op +WorkloadWarmup 3: 16777216 op, 915796700.00 ns, 54.5857 ns/op +WorkloadWarmup 4: 16777216 op, 897703400.00 ns, 53.5073 ns/op +WorkloadWarmup 5: 16777216 op, 881031700.00 ns, 52.5136 ns/op +WorkloadWarmup 6: 16777216 op, 877202500.00 ns, 52.2853 ns/op +WorkloadWarmup 7: 16777216 op, 884131500.00 ns, 52.6983 ns/op +WorkloadWarmup 8: 16777216 op, 888339400.00 ns, 52.9492 ns/op +WorkloadWarmup 9: 16777216 op, 886628300.00 ns, 52.8472 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 886700700.00 ns, 52.8515 ns/op +WorkloadActual 2: 16777216 op, 891917200.00 ns, 53.1624 ns/op +WorkloadActual 3: 16777216 op, 904829800.00 ns, 53.9321 ns/op +WorkloadActual 4: 16777216 op, 900140800.00 ns, 53.6526 ns/op +WorkloadActual 5: 16777216 op, 950829300.00 ns, 56.6738 ns/op +WorkloadActual 6: 16777216 op, 879478600.00 ns, 52.4210 ns/op +WorkloadActual 7: 16777216 op, 909991500.00 ns, 54.2397 ns/op +WorkloadActual 8: 16777216 op, 877128400.00 ns, 52.2809 ns/op +WorkloadActual 9: 16777216 op, 887320800.00 ns, 52.8884 ns/op +WorkloadActual 10: 16777216 op, 876850600.00 ns, 52.2644 ns/op +WorkloadActual 11: 16777216 op, 881074500.00 ns, 52.5161 ns/op +WorkloadActual 12: 16777216 op, 888443100.00 ns, 52.9553 ns/op +WorkloadActual 13: 16777216 op, 914962500.00 ns, 54.5360 ns/op +WorkloadActual 14: 16777216 op, 886083700.00 ns, 52.8147 ns/op +WorkloadActual 15: 16777216 op, 895504100.00 ns, 53.3762 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 864311650.00 ns, 51.5170 ns/op +WorkloadResult 2: 16777216 op, 869528150.00 ns, 51.8279 ns/op +WorkloadResult 3: 16777216 op, 882440750.00 ns, 52.5976 ns/op +WorkloadResult 4: 16777216 op, 877751750.00 ns, 52.3181 ns/op +WorkloadResult 5: 16777216 op, 857089550.00 ns, 51.0865 ns/op +WorkloadResult 6: 16777216 op, 887602450.00 ns, 52.9052 ns/op +WorkloadResult 7: 16777216 op, 854739350.00 ns, 50.9464 ns/op +WorkloadResult 8: 16777216 op, 864931750.00 ns, 51.5539 ns/op +WorkloadResult 9: 16777216 op, 854461550.00 ns, 50.9299 ns/op +WorkloadResult 10: 16777216 op, 858685450.00 ns, 51.1816 ns/op +WorkloadResult 11: 16777216 op, 866054050.00 ns, 51.6208 ns/op +WorkloadResult 12: 16777216 op, 892573450.00 ns, 53.2015 ns/op +WorkloadResult 13: 16777216 op, 863694650.00 ns, 51.4802 ns/op +WorkloadResult 14: 16777216 op, 873115050.00 ns, 52.0417 ns/op +// GC: 931 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 116356 has exited with code 0. + +Mean = 51.801 ns, StdErr = 0.193 ns (0.37%), N = 14, StdDev = 0.723 ns +Min = 50.930 ns, Q1 = 51.256 ns, Median = 51.587 ns, Q3 = 52.249 ns, Max = 53.202 ns +IQR = 0.993 ns, LowerFence = 49.767 ns, UpperFence = 53.738 ns +ConfidenceInterval = [50.985 ns; 52.617 ns] (CI 99.9%), Margin = 0.816 ns (1.58% of Mean) +Skewness = 0.53, Kurtosis = 1.92, MValue = 2 + +// ** Remained 25 (78.1%) benchmark(s) to run. Estimated finish 2026-02-23 18:56 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2552 1120 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneInt128Elements --job ".NET 10.0" --benchmarkId 5 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 78700.00 ns, 78.7000 us/op +WorkloadJitting 1: 1 op, 820400.00 ns, 820.4000 us/op + +OverheadJitting 2: 16 op, 121900.00 ns, 7.6188 us/op +WorkloadJitting 2: 16 op, 131500.00 ns, 8.2188 us/op + +WorkloadPilot 1: 16 op, 2800.00 ns, 175.0000 ns/op +WorkloadPilot 2: 32 op, 3000.00 ns, 93.7500 ns/op +WorkloadPilot 3: 64 op, 17800.00 ns, 278.1250 ns/op +WorkloadPilot 4: 128 op, 28900.00 ns, 225.7813 ns/op +WorkloadPilot 5: 256 op, 46400.00 ns, 181.2500 ns/op +WorkloadPilot 6: 512 op, 93600.00 ns, 182.8125 ns/op +WorkloadPilot 7: 1024 op, 133200.00 ns, 130.0781 ns/op +WorkloadPilot 8: 2048 op, 321200.00 ns, 156.8359 ns/op +WorkloadPilot 9: 4096 op, 593500.00 ns, 144.8975 ns/op +WorkloadPilot 10: 8192 op, 1360600.00 ns, 166.0889 ns/op +WorkloadPilot 11: 16384 op, 2328100.00 ns, 142.0959 ns/op +WorkloadPilot 12: 32768 op, 4792800.00 ns, 146.2646 ns/op +WorkloadPilot 13: 65536 op, 3752700.00 ns, 57.2617 ns/op +WorkloadPilot 14: 131072 op, 6923700.00 ns, 52.8236 ns/op +WorkloadPilot 15: 262144 op, 12823200.00 ns, 48.9166 ns/op +WorkloadPilot 16: 524288 op, 25336400.00 ns, 48.3253 ns/op +WorkloadPilot 17: 1048576 op, 49182700.00 ns, 46.9043 ns/op +WorkloadPilot 18: 2097152 op, 95425300.00 ns, 45.5023 ns/op +WorkloadPilot 19: 4194304 op, 181351100.00 ns, 43.2375 ns/op +WorkloadPilot 20: 8388608 op, 368298600.00 ns, 43.9046 ns/op +WorkloadPilot 21: 16777216 op, 725554900.00 ns, 43.2464 ns/op + +OverheadWarmup 1: 16777216 op, 22677200.00 ns, 1.3517 ns/op +OverheadWarmup 2: 16777216 op, 22604600.00 ns, 1.3473 ns/op +OverheadWarmup 3: 16777216 op, 22752900.00 ns, 1.3562 ns/op +OverheadWarmup 4: 16777216 op, 22506100.00 ns, 1.3415 ns/op +OverheadWarmup 5: 16777216 op, 22551000.00 ns, 1.3441 ns/op +OverheadWarmup 6: 16777216 op, 22418100.00 ns, 1.3362 ns/op + +OverheadActual 1: 16777216 op, 22629300.00 ns, 1.3488 ns/op +OverheadActual 2: 16777216 op, 22580100.00 ns, 1.3459 ns/op +OverheadActual 3: 16777216 op, 22399500.00 ns, 1.3351 ns/op +OverheadActual 4: 16777216 op, 22672800.00 ns, 1.3514 ns/op +OverheadActual 5: 16777216 op, 22477100.00 ns, 1.3397 ns/op +OverheadActual 6: 16777216 op, 22911800.00 ns, 1.3656 ns/op +OverheadActual 7: 16777216 op, 22487400.00 ns, 1.3404 ns/op +OverheadActual 8: 16777216 op, 22719500.00 ns, 1.3542 ns/op +OverheadActual 9: 16777216 op, 22617000.00 ns, 1.3481 ns/op +OverheadActual 10: 16777216 op, 22674300.00 ns, 1.3515 ns/op +OverheadActual 11: 16777216 op, 22573500.00 ns, 1.3455 ns/op +OverheadActual 12: 16777216 op, 22714600.00 ns, 1.3539 ns/op +OverheadActual 13: 16777216 op, 20224700.00 ns, 1.2055 ns/op +OverheadActual 14: 16777216 op, 17888000.00 ns, 1.0662 ns/op +OverheadActual 15: 16777216 op, 17802800.00 ns, 1.0611 ns/op +OverheadActual 16: 16777216 op, 18136700.00 ns, 1.0810 ns/op +OverheadActual 17: 16777216 op, 18245700.00 ns, 1.0875 ns/op +OverheadActual 18: 16777216 op, 17951700.00 ns, 1.0700 ns/op +OverheadActual 19: 16777216 op, 17725600.00 ns, 1.0565 ns/op +OverheadActual 20: 16777216 op, 17885300.00 ns, 1.0660 ns/op + +WorkloadWarmup 1: 16777216 op, 715437700.00 ns, 42.6434 ns/op +WorkloadWarmup 2: 16777216 op, 727223100.00 ns, 43.3459 ns/op +WorkloadWarmup 3: 16777216 op, 727549300.00 ns, 43.3653 ns/op +WorkloadWarmup 4: 16777216 op, 718145900.00 ns, 42.8048 ns/op +WorkloadWarmup 5: 16777216 op, 736310100.00 ns, 43.8875 ns/op +WorkloadWarmup 6: 16777216 op, 727651000.00 ns, 43.3714 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 849061500.00 ns, 50.6080 ns/op +WorkloadActual 2: 16777216 op, 848015000.00 ns, 50.5456 ns/op +WorkloadActual 3: 16777216 op, 869053000.00 ns, 51.7996 ns/op +WorkloadActual 4: 16777216 op, 894426900.00 ns, 53.3120 ns/op +WorkloadActual 5: 16777216 op, 885060500.00 ns, 52.7537 ns/op +WorkloadActual 6: 16777216 op, 788445000.00 ns, 46.9950 ns/op +WorkloadActual 7: 16777216 op, 723087800.00 ns, 43.0994 ns/op +WorkloadActual 8: 16777216 op, 730347600.00 ns, 43.5321 ns/op +WorkloadActual 9: 16777216 op, 803321400.00 ns, 47.8817 ns/op +WorkloadActual 10: 16777216 op, 787527000.00 ns, 46.9403 ns/op +WorkloadActual 11: 16777216 op, 817240800.00 ns, 48.7113 ns/op +WorkloadActual 12: 16777216 op, 877021300.00 ns, 52.2745 ns/op +WorkloadActual 13: 16777216 op, 942316900.00 ns, 56.1665 ns/op +WorkloadActual 14: 16777216 op, 878339600.00 ns, 52.3531 ns/op +WorkloadActual 15: 16777216 op, 840562900.00 ns, 50.1015 ns/op +WorkloadActual 16: 16777216 op, 846115200.00 ns, 50.4324 ns/op +WorkloadActual 17: 16777216 op, 869751300.00 ns, 51.8412 ns/op +WorkloadActual 18: 16777216 op, 899000400.00 ns, 53.5846 ns/op +WorkloadActual 19: 16777216 op, 962140500.00 ns, 57.3480 ns/op +WorkloadActual 20: 16777216 op, 886848300.00 ns, 52.8603 ns/op +WorkloadActual 21: 16777216 op, 886868000.00 ns, 52.8615 ns/op +WorkloadActual 22: 16777216 op, 814482300.00 ns, 48.5469 ns/op +WorkloadActual 23: 16777216 op, 883090900.00 ns, 52.6363 ns/op +WorkloadActual 24: 16777216 op, 868604900.00 ns, 51.7729 ns/op +WorkloadActual 25: 16777216 op, 883028300.00 ns, 52.6326 ns/op +WorkloadActual 26: 16777216 op, 803954000.00 ns, 47.9194 ns/op +WorkloadActual 27: 16777216 op, 828594400.00 ns, 49.3881 ns/op +WorkloadActual 28: 16777216 op, 796559900.00 ns, 47.4787 ns/op +WorkloadActual 29: 16777216 op, 752296400.00 ns, 44.8404 ns/op +WorkloadActual 30: 16777216 op, 744663800.00 ns, 44.3854 ns/op +WorkloadActual 31: 16777216 op, 738600900.00 ns, 44.0240 ns/op +WorkloadActual 32: 16777216 op, 736131600.00 ns, 43.8769 ns/op +WorkloadActual 33: 16777216 op, 768175800.00 ns, 45.7868 ns/op +WorkloadActual 34: 16777216 op, 764035300.00 ns, 45.5401 ns/op +WorkloadActual 35: 16777216 op, 732021300.00 ns, 43.6319 ns/op +WorkloadActual 36: 16777216 op, 795465000.00 ns, 47.4134 ns/op +WorkloadActual 37: 16777216 op, 731786400.00 ns, 43.6179 ns/op +WorkloadActual 38: 16777216 op, 732031400.00 ns, 43.6325 ns/op +WorkloadActual 39: 16777216 op, 758756200.00 ns, 45.2254 ns/op +WorkloadActual 40: 16777216 op, 736986900.00 ns, 43.9278 ns/op +WorkloadActual 41: 16777216 op, 725046100.00 ns, 43.2161 ns/op +WorkloadActual 42: 16777216 op, 729098800.00 ns, 43.4577 ns/op +WorkloadActual 43: 16777216 op, 723502200.00 ns, 43.1241 ns/op +WorkloadActual 44: 16777216 op, 715998900.00 ns, 42.6769 ns/op +WorkloadActual 45: 16777216 op, 749272000.00 ns, 44.6601 ns/op +WorkloadActual 46: 16777216 op, 768156700.00 ns, 45.7857 ns/op +WorkloadActual 47: 16777216 op, 739697200.00 ns, 44.0894 ns/op +WorkloadActual 48: 16777216 op, 718288500.00 ns, 42.8133 ns/op +WorkloadActual 49: 16777216 op, 729934900.00 ns, 43.5075 ns/op +WorkloadActual 50: 16777216 op, 737277300.00 ns, 43.9452 ns/op +WorkloadActual 51: 16777216 op, 728649400.00 ns, 43.4309 ns/op +WorkloadActual 52: 16777216 op, 732823100.00 ns, 43.6797 ns/op +WorkloadActual 53: 16777216 op, 748485400.00 ns, 44.6132 ns/op +WorkloadActual 54: 16777216 op, 739548000.00 ns, 44.0805 ns/op +WorkloadActual 55: 16777216 op, 748840500.00 ns, 44.6344 ns/op +WorkloadActual 56: 16777216 op, 744123700.00 ns, 44.3532 ns/op +WorkloadActual 57: 16777216 op, 734059700.00 ns, 43.7534 ns/op +WorkloadActual 58: 16777216 op, 726050900.00 ns, 43.2760 ns/op +WorkloadActual 59: 16777216 op, 728592000.00 ns, 43.4275 ns/op +WorkloadActual 60: 16777216 op, 738398600.00 ns, 44.0120 ns/op +WorkloadActual 61: 16777216 op, 748202400.00 ns, 44.5963 ns/op +WorkloadActual 62: 16777216 op, 716049000.00 ns, 42.6798 ns/op +WorkloadActual 63: 16777216 op, 726616800.00 ns, 43.3097 ns/op +WorkloadActual 64: 16777216 op, 719538400.00 ns, 42.8878 ns/op +WorkloadActual 65: 16777216 op, 719297700.00 ns, 42.8735 ns/op +WorkloadActual 66: 16777216 op, 720967200.00 ns, 42.9730 ns/op +WorkloadActual 67: 16777216 op, 724965100.00 ns, 43.2113 ns/op +WorkloadActual 68: 16777216 op, 752300400.00 ns, 44.8406 ns/op +WorkloadActual 69: 16777216 op, 717426500.00 ns, 42.7620 ns/op +WorkloadActual 70: 16777216 op, 719746700.00 ns, 42.9002 ns/op +WorkloadActual 71: 16777216 op, 719847000.00 ns, 42.9062 ns/op +WorkloadActual 72: 16777216 op, 722208100.00 ns, 43.0470 ns/op +WorkloadActual 73: 16777216 op, 730209200.00 ns, 43.5239 ns/op +WorkloadActual 74: 16777216 op, 729541700.00 ns, 43.4841 ns/op +WorkloadActual 75: 16777216 op, 768432800.00 ns, 45.8022 ns/op +WorkloadActual 76: 16777216 op, 736082400.00 ns, 43.8739 ns/op +WorkloadActual 77: 16777216 op, 718919900.00 ns, 42.8510 ns/op +WorkloadActual 78: 16777216 op, 728691600.00 ns, 43.4334 ns/op +WorkloadActual 79: 16777216 op, 731152300.00 ns, 43.5801 ns/op +WorkloadActual 80: 16777216 op, 721374300.00 ns, 42.9973 ns/op +WorkloadActual 81: 16777216 op, 723930800.00 ns, 43.1496 ns/op +WorkloadActual 82: 16777216 op, 731367800.00 ns, 43.5929 ns/op +WorkloadActual 83: 16777216 op, 773352100.00 ns, 46.0954 ns/op +WorkloadActual 84: 16777216 op, 751053800.00 ns, 44.7663 ns/op +WorkloadActual 85: 16777216 op, 734161200.00 ns, 43.7594 ns/op +WorkloadActual 86: 16777216 op, 727454200.00 ns, 43.3596 ns/op +WorkloadActual 87: 16777216 op, 744356400.00 ns, 44.3671 ns/op +WorkloadActual 88: 16777216 op, 732027100.00 ns, 43.6322 ns/op +WorkloadActual 89: 16777216 op, 725703200.00 ns, 43.2553 ns/op +WorkloadActual 90: 16777216 op, 777421600.00 ns, 46.3379 ns/op +WorkloadActual 91: 16777216 op, 743936800.00 ns, 44.3421 ns/op +WorkloadActual 92: 16777216 op, 754330400.00 ns, 44.9616 ns/op +WorkloadActual 93: 16777216 op, 724627000.00 ns, 43.1911 ns/op +WorkloadActual 94: 16777216 op, 718152600.00 ns, 42.8052 ns/op +WorkloadActual 95: 16777216 op, 740544400.00 ns, 44.1399 ns/op +WorkloadActual 96: 16777216 op, 730773800.00 ns, 43.5575 ns/op +WorkloadActual 97: 16777216 op, 742684000.00 ns, 44.2674 ns/op +WorkloadActual 98: 16777216 op, 749203300.00 ns, 44.6560 ns/op +WorkloadActual 99: 16777216 op, 744311300.00 ns, 44.3644 ns/op +WorkloadActual 100: 16777216 op, 733799500.00 ns, 43.7379 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 826579250.00 ns, 49.2680 ns/op +WorkloadResult 2: 16777216 op, 825532750.00 ns, 49.2056 ns/op +WorkloadResult 3: 16777216 op, 846570750.00 ns, 50.4595 ns/op +WorkloadResult 4: 16777216 op, 765962750.00 ns, 45.6549 ns/op +WorkloadResult 5: 16777216 op, 700605550.00 ns, 41.7593 ns/op +WorkloadResult 6: 16777216 op, 707865350.00 ns, 42.1921 ns/op +WorkloadResult 7: 16777216 op, 780839150.00 ns, 46.5416 ns/op +WorkloadResult 8: 16777216 op, 765044750.00 ns, 45.6002 ns/op +WorkloadResult 9: 16777216 op, 794758550.00 ns, 47.3713 ns/op +WorkloadResult 10: 16777216 op, 854539050.00 ns, 50.9345 ns/op +WorkloadResult 11: 16777216 op, 855857350.00 ns, 51.0131 ns/op +WorkloadResult 12: 16777216 op, 818080650.00 ns, 48.7614 ns/op +WorkloadResult 13: 16777216 op, 823632950.00 ns, 49.0923 ns/op +WorkloadResult 14: 16777216 op, 847269050.00 ns, 50.5012 ns/op +WorkloadResult 15: 16777216 op, 792000050.00 ns, 47.2069 ns/op +WorkloadResult 16: 16777216 op, 846122650.00 ns, 50.4328 ns/op +WorkloadResult 17: 16777216 op, 781471750.00 ns, 46.5793 ns/op +WorkloadResult 18: 16777216 op, 806112150.00 ns, 48.0480 ns/op +WorkloadResult 19: 16777216 op, 774077650.00 ns, 46.1386 ns/op +WorkloadResult 20: 16777216 op, 729814150.00 ns, 43.5003 ns/op +WorkloadResult 21: 16777216 op, 722181550.00 ns, 43.0454 ns/op +WorkloadResult 22: 16777216 op, 716118650.00 ns, 42.6840 ns/op +WorkloadResult 23: 16777216 op, 713649350.00 ns, 42.5368 ns/op +WorkloadResult 24: 16777216 op, 745693550.00 ns, 44.4468 ns/op +WorkloadResult 25: 16777216 op, 741553050.00 ns, 44.2000 ns/op +WorkloadResult 26: 16777216 op, 709539050.00 ns, 42.2918 ns/op +WorkloadResult 27: 16777216 op, 772982750.00 ns, 46.0734 ns/op +WorkloadResult 28: 16777216 op, 709304150.00 ns, 42.2778 ns/op +WorkloadResult 29: 16777216 op, 709549150.00 ns, 42.2924 ns/op +WorkloadResult 30: 16777216 op, 736273950.00 ns, 43.8853 ns/op +WorkloadResult 31: 16777216 op, 714504650.00 ns, 42.5878 ns/op +WorkloadResult 32: 16777216 op, 702563850.00 ns, 41.8761 ns/op +WorkloadResult 33: 16777216 op, 706616550.00 ns, 42.1176 ns/op +WorkloadResult 34: 16777216 op, 701019950.00 ns, 41.7840 ns/op +WorkloadResult 35: 16777216 op, 693516650.00 ns, 41.3368 ns/op +WorkloadResult 36: 16777216 op, 726789750.00 ns, 43.3200 ns/op +WorkloadResult 37: 16777216 op, 745674450.00 ns, 44.4457 ns/op +WorkloadResult 38: 16777216 op, 717214950.00 ns, 42.7493 ns/op +WorkloadResult 39: 16777216 op, 695806250.00 ns, 41.4733 ns/op +WorkloadResult 40: 16777216 op, 707452650.00 ns, 42.1675 ns/op +WorkloadResult 41: 16777216 op, 714795050.00 ns, 42.6051 ns/op +WorkloadResult 42: 16777216 op, 706167150.00 ns, 42.0908 ns/op +WorkloadResult 43: 16777216 op, 710340850.00 ns, 42.3396 ns/op +WorkloadResult 44: 16777216 op, 726003150.00 ns, 43.2732 ns/op +WorkloadResult 45: 16777216 op, 717065750.00 ns, 42.7404 ns/op +WorkloadResult 46: 16777216 op, 726358250.00 ns, 43.2943 ns/op +WorkloadResult 47: 16777216 op, 721641450.00 ns, 43.0132 ns/op +WorkloadResult 48: 16777216 op, 711577450.00 ns, 42.4133 ns/op +WorkloadResult 49: 16777216 op, 703568650.00 ns, 41.9360 ns/op +WorkloadResult 50: 16777216 op, 706109750.00 ns, 42.0874 ns/op +WorkloadResult 51: 16777216 op, 715916350.00 ns, 42.6719 ns/op +WorkloadResult 52: 16777216 op, 725720150.00 ns, 43.2563 ns/op +WorkloadResult 53: 16777216 op, 693566750.00 ns, 41.3398 ns/op +WorkloadResult 54: 16777216 op, 704134550.00 ns, 41.9697 ns/op +WorkloadResult 55: 16777216 op, 697056150.00 ns, 41.5478 ns/op +WorkloadResult 56: 16777216 op, 696815450.00 ns, 41.5334 ns/op +WorkloadResult 57: 16777216 op, 698484950.00 ns, 41.6329 ns/op +WorkloadResult 58: 16777216 op, 702482850.00 ns, 41.8712 ns/op +WorkloadResult 59: 16777216 op, 729818150.00 ns, 43.5006 ns/op +WorkloadResult 60: 16777216 op, 694944250.00 ns, 41.4219 ns/op +WorkloadResult 61: 16777216 op, 697264450.00 ns, 41.5602 ns/op +WorkloadResult 62: 16777216 op, 697364750.00 ns, 41.5662 ns/op +WorkloadResult 63: 16777216 op, 699725850.00 ns, 41.7069 ns/op +WorkloadResult 64: 16777216 op, 707726950.00 ns, 42.1838 ns/op +WorkloadResult 65: 16777216 op, 707059450.00 ns, 42.1440 ns/op +WorkloadResult 66: 16777216 op, 745950550.00 ns, 44.4621 ns/op +WorkloadResult 67: 16777216 op, 713600150.00 ns, 42.5339 ns/op +WorkloadResult 68: 16777216 op, 696437650.00 ns, 41.5109 ns/op +WorkloadResult 69: 16777216 op, 706209350.00 ns, 42.0934 ns/op +WorkloadResult 70: 16777216 op, 708670050.00 ns, 42.2400 ns/op +WorkloadResult 71: 16777216 op, 698892050.00 ns, 41.6572 ns/op +WorkloadResult 72: 16777216 op, 701448550.00 ns, 41.8096 ns/op +WorkloadResult 73: 16777216 op, 708885550.00 ns, 42.2529 ns/op +WorkloadResult 74: 16777216 op, 750869850.00 ns, 44.7553 ns/op +WorkloadResult 75: 16777216 op, 728571550.00 ns, 43.4262 ns/op +WorkloadResult 76: 16777216 op, 711678950.00 ns, 42.4194 ns/op +WorkloadResult 77: 16777216 op, 704971950.00 ns, 42.0196 ns/op +WorkloadResult 78: 16777216 op, 721874150.00 ns, 43.0271 ns/op +WorkloadResult 79: 16777216 op, 709544850.00 ns, 42.2922 ns/op +WorkloadResult 80: 16777216 op, 703220950.00 ns, 41.9152 ns/op +WorkloadResult 81: 16777216 op, 754939350.00 ns, 44.9979 ns/op +WorkloadResult 82: 16777216 op, 721454550.00 ns, 43.0020 ns/op +WorkloadResult 83: 16777216 op, 731848150.00 ns, 43.6215 ns/op +WorkloadResult 84: 16777216 op, 702144750.00 ns, 41.8511 ns/op +WorkloadResult 85: 16777216 op, 695670350.00 ns, 41.4652 ns/op +WorkloadResult 86: 16777216 op, 718062150.00 ns, 42.7998 ns/op +WorkloadResult 87: 16777216 op, 708291550.00 ns, 42.2175 ns/op +WorkloadResult 88: 16777216 op, 720201750.00 ns, 42.9274 ns/op +WorkloadResult 89: 16777216 op, 726721050.00 ns, 43.3160 ns/op +WorkloadResult 90: 16777216 op, 721829050.00 ns, 43.0244 ns/op +WorkloadResult 91: 16777216 op, 711317250.00 ns, 42.3978 ns/op +// GC: 476 0 0 8992587776 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 110212 has exited with code 0. + +Mean = 43.666 ns, StdErr = 0.269 ns (0.62%), N = 91, StdDev = 2.568 ns +Min = 41.337 ns, Q1 = 42.054 ns, Median = 42.605 ns, Q3 = 44.323 ns, Max = 51.013 ns +IQR = 2.269 ns, LowerFence = 38.650 ns, UpperFence = 47.727 ns +ConfidenceInterval = [42.750 ns; 44.582 ns] (CI 99.9%), Margin = 0.916 ns (2.10% of Mean) +Skewness = 1.55, Kurtosis = 4.3, MValue = 2.05 + +// ** Remained 24 (75.0%) benchmark(s) to run. Estimated finish 2026-02-23 19:02 (0h 7m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2532 2440 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLong128Elements --job ".NET 10.0" --benchmarkId 6 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 85100.00 ns, 85.1000 us/op +WorkloadJitting 1: 1 op, 768400.00 ns, 768.4000 us/op + +OverheadJitting 2: 16 op, 118100.00 ns, 7.3813 us/op +WorkloadJitting 2: 16 op, 123800.00 ns, 7.7375 us/op + +WorkloadPilot 1: 16 op, 2400.00 ns, 150.0000 ns/op +WorkloadPilot 2: 32 op, 7300.00 ns, 228.1250 ns/op +WorkloadPilot 3: 64 op, 24600.00 ns, 384.3750 ns/op +WorkloadPilot 4: 128 op, 40800.00 ns, 318.7500 ns/op +WorkloadPilot 5: 256 op, 70500.00 ns, 275.3906 ns/op +WorkloadPilot 6: 512 op, 98300.00 ns, 191.9922 ns/op +WorkloadPilot 7: 1024 op, 227100.00 ns, 221.7773 ns/op +WorkloadPilot 8: 2048 op, 452400.00 ns, 220.8984 ns/op +WorkloadPilot 9: 4096 op, 920400.00 ns, 224.7070 ns/op +WorkloadPilot 10: 8192 op, 1839400.00 ns, 224.5361 ns/op +WorkloadPilot 11: 16384 op, 3955000.00 ns, 241.3940 ns/op +WorkloadPilot 12: 32768 op, 2677500.00 ns, 81.7108 ns/op +WorkloadPilot 13: 65536 op, 4090700.00 ns, 62.4191 ns/op +WorkloadPilot 14: 131072 op, 7656100.00 ns, 58.4114 ns/op +WorkloadPilot 15: 262144 op, 14742900.00 ns, 56.2397 ns/op +WorkloadPilot 16: 524288 op, 29479900.00 ns, 56.2284 ns/op +WorkloadPilot 17: 1048576 op, 58945900.00 ns, 56.2152 ns/op +WorkloadPilot 18: 2097152 op, 113727700.00 ns, 54.2296 ns/op +WorkloadPilot 19: 4194304 op, 231712200.00 ns, 55.2445 ns/op +WorkloadPilot 20: 8388608 op, 443340700.00 ns, 52.8503 ns/op +WorkloadPilot 21: 16777216 op, 910970700.00 ns, 54.2981 ns/op + +OverheadWarmup 1: 16777216 op, 22740900.00 ns, 1.3555 ns/op +OverheadWarmup 2: 16777216 op, 22667700.00 ns, 1.3511 ns/op +OverheadWarmup 3: 16777216 op, 22456700.00 ns, 1.3385 ns/op +OverheadWarmup 4: 16777216 op, 22428000.00 ns, 1.3368 ns/op +OverheadWarmup 5: 16777216 op, 22418500.00 ns, 1.3362 ns/op +OverheadWarmup 6: 16777216 op, 22377500.00 ns, 1.3338 ns/op +OverheadWarmup 7: 16777216 op, 22413500.00 ns, 1.3359 ns/op +OverheadWarmup 8: 16777216 op, 22433500.00 ns, 1.3371 ns/op +OverheadWarmup 9: 16777216 op, 22363700.00 ns, 1.3330 ns/op +OverheadWarmup 10: 16777216 op, 21043700.00 ns, 1.2543 ns/op + +OverheadActual 1: 16777216 op, 17714600.00 ns, 1.0559 ns/op +OverheadActual 2: 16777216 op, 17839200.00 ns, 1.0633 ns/op +OverheadActual 3: 16777216 op, 17929600.00 ns, 1.0687 ns/op +OverheadActual 4: 16777216 op, 17731200.00 ns, 1.0569 ns/op +OverheadActual 5: 16777216 op, 17724900.00 ns, 1.0565 ns/op +OverheadActual 6: 16777216 op, 17726900.00 ns, 1.0566 ns/op +OverheadActual 7: 16777216 op, 17721100.00 ns, 1.0563 ns/op +OverheadActual 8: 16777216 op, 17737000.00 ns, 1.0572 ns/op +OverheadActual 9: 16777216 op, 17745000.00 ns, 1.0577 ns/op +OverheadActual 10: 16777216 op, 17747600.00 ns, 1.0578 ns/op +OverheadActual 11: 16777216 op, 17748400.00 ns, 1.0579 ns/op +OverheadActual 12: 16777216 op, 17803500.00 ns, 1.0612 ns/op +OverheadActual 13: 16777216 op, 17750800.00 ns, 1.0580 ns/op +OverheadActual 14: 16777216 op, 17962400.00 ns, 1.0706 ns/op +OverheadActual 15: 16777216 op, 18016500.00 ns, 1.0739 ns/op + +WorkloadWarmup 1: 16777216 op, 917916400.00 ns, 54.7121 ns/op +WorkloadWarmup 2: 16777216 op, 916734300.00 ns, 54.6416 ns/op +WorkloadWarmup 3: 16777216 op, 902064700.00 ns, 53.7672 ns/op +WorkloadWarmup 4: 16777216 op, 896311000.00 ns, 53.4243 ns/op +WorkloadWarmup 5: 16777216 op, 932513700.00 ns, 55.5821 ns/op +WorkloadWarmup 6: 16777216 op, 945432900.00 ns, 56.3522 ns/op +WorkloadWarmup 7: 16777216 op, 914605200.00 ns, 54.5147 ns/op +WorkloadWarmup 8: 16777216 op, 1037875100.00 ns, 61.8622 ns/op +WorkloadWarmup 9: 16777216 op, 1071486500.00 ns, 63.8656 ns/op +WorkloadWarmup 10: 16777216 op, 983129100.00 ns, 58.5991 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 904132400.00 ns, 53.8905 ns/op +WorkloadActual 2: 16777216 op, 989720700.00 ns, 58.9920 ns/op +WorkloadActual 3: 16777216 op, 1149288500.00 ns, 68.5029 ns/op +WorkloadActual 4: 16777216 op, 1064290200.00 ns, 63.4366 ns/op +WorkloadActual 5: 16777216 op, 1059839900.00 ns, 63.1714 ns/op +WorkloadActual 6: 16777216 op, 999620900.00 ns, 59.5820 ns/op +WorkloadActual 7: 16777216 op, 1078306200.00 ns, 64.2721 ns/op +WorkloadActual 8: 16777216 op, 1115458900.00 ns, 66.4865 ns/op +WorkloadActual 9: 16777216 op, 1155728900.00 ns, 68.8868 ns/op +WorkloadActual 10: 16777216 op, 1173298900.00 ns, 69.9341 ns/op +WorkloadActual 11: 16777216 op, 1236751400.00 ns, 73.7161 ns/op +WorkloadActual 12: 16777216 op, 1070818100.00 ns, 63.8257 ns/op +WorkloadActual 13: 16777216 op, 989064000.00 ns, 58.9528 ns/op +WorkloadActual 14: 16777216 op, 1187673400.00 ns, 70.7909 ns/op +WorkloadActual 15: 16777216 op, 1117094900.00 ns, 66.5840 ns/op +WorkloadActual 16: 16777216 op, 1149334800.00 ns, 68.5057 ns/op +WorkloadActual 17: 16777216 op, 913170500.00 ns, 54.4292 ns/op +WorkloadActual 18: 16777216 op, 911915900.00 ns, 54.3544 ns/op +WorkloadActual 19: 16777216 op, 1522506800.00 ns, 90.7485 ns/op +WorkloadActual 20: 16777216 op, 1766677200.00 ns, 105.3022 ns/op +WorkloadActual 21: 16777216 op, 1329071100.00 ns, 79.2188 ns/op +WorkloadActual 22: 16777216 op, 1297478200.00 ns, 77.3357 ns/op +WorkloadActual 23: 16777216 op, 1060561800.00 ns, 63.2144 ns/op +WorkloadActual 24: 16777216 op, 1138821900.00 ns, 67.8791 ns/op +WorkloadActual 25: 16777216 op, 1174627700.00 ns, 70.0133 ns/op +WorkloadActual 26: 16777216 op, 1132286900.00 ns, 67.4896 ns/op +WorkloadActual 27: 16777216 op, 1030500700.00 ns, 61.4226 ns/op +WorkloadActual 28: 16777216 op, 1117628400.00 ns, 66.6158 ns/op +WorkloadActual 29: 16777216 op, 1435733600.00 ns, 85.5764 ns/op +WorkloadActual 30: 16777216 op, 1083511200.00 ns, 64.5823 ns/op +WorkloadActual 31: 16777216 op, 895040700.00 ns, 53.3486 ns/op +WorkloadActual 32: 16777216 op, 1066569300.00 ns, 63.5725 ns/op +WorkloadActual 33: 16777216 op, 1200024100.00 ns, 71.5270 ns/op +WorkloadActual 34: 16777216 op, 1260966100.00 ns, 75.1594 ns/op +WorkloadActual 35: 16777216 op, 1409675300.00 ns, 84.0232 ns/op +WorkloadActual 36: 16777216 op, 1251128800.00 ns, 74.5731 ns/op +WorkloadActual 37: 16777216 op, 1153600300.00 ns, 68.7599 ns/op +WorkloadActual 38: 16777216 op, 1196319100.00 ns, 71.3062 ns/op +WorkloadActual 39: 16777216 op, 1174002700.00 ns, 69.9760 ns/op +WorkloadActual 40: 16777216 op, 984111600.00 ns, 58.6576 ns/op +WorkloadActual 41: 16777216 op, 903923100.00 ns, 53.8780 ns/op +WorkloadActual 42: 16777216 op, 891141300.00 ns, 53.1162 ns/op +WorkloadActual 43: 16777216 op, 905662900.00 ns, 53.9817 ns/op +WorkloadActual 44: 16777216 op, 983946800.00 ns, 58.6478 ns/op +WorkloadActual 45: 16777216 op, 983942500.00 ns, 58.6475 ns/op +WorkloadActual 46: 16777216 op, 1146118900.00 ns, 68.3140 ns/op +WorkloadActual 47: 16777216 op, 1156713100.00 ns, 68.9455 ns/op +WorkloadActual 48: 16777216 op, 1089868300.00 ns, 64.9612 ns/op +WorkloadActual 49: 16777216 op, 1008538100.00 ns, 60.1136 ns/op +WorkloadActual 50: 16777216 op, 912907000.00 ns, 54.4135 ns/op +WorkloadActual 51: 16777216 op, 909518800.00 ns, 54.2115 ns/op +WorkloadActual 52: 16777216 op, 899959600.00 ns, 53.6418 ns/op +WorkloadActual 53: 16777216 op, 899217500.00 ns, 53.5975 ns/op +WorkloadActual 54: 16777216 op, 907141200.00 ns, 54.0698 ns/op +WorkloadActual 55: 16777216 op, 900055800.00 ns, 53.6475 ns/op +WorkloadActual 56: 16777216 op, 917906700.00 ns, 54.7115 ns/op +WorkloadActual 57: 16777216 op, 917506000.00 ns, 54.6876 ns/op +WorkloadActual 58: 16777216 op, 930637500.00 ns, 55.4703 ns/op +WorkloadActual 59: 16777216 op, 901146300.00 ns, 53.7125 ns/op +WorkloadActual 60: 16777216 op, 894651300.00 ns, 53.3254 ns/op +WorkloadActual 61: 16777216 op, 917761700.00 ns, 54.7029 ns/op +WorkloadActual 62: 16777216 op, 945850900.00 ns, 56.3771 ns/op +WorkloadActual 63: 16777216 op, 899884500.00 ns, 53.6373 ns/op +WorkloadActual 64: 16777216 op, 894803900.00 ns, 53.3345 ns/op +WorkloadActual 65: 16777216 op, 916384300.00 ns, 54.6208 ns/op +WorkloadActual 66: 16777216 op, 911136500.00 ns, 54.3080 ns/op +WorkloadActual 67: 16777216 op, 959828800.00 ns, 57.2103 ns/op +WorkloadActual 68: 16777216 op, 925193200.00 ns, 55.1458 ns/op +WorkloadActual 69: 16777216 op, 902278100.00 ns, 53.7800 ns/op +WorkloadActual 70: 16777216 op, 907382500.00 ns, 54.0842 ns/op +WorkloadActual 71: 16777216 op, 910905800.00 ns, 54.2942 ns/op +WorkloadActual 72: 16777216 op, 911260600.00 ns, 54.3154 ns/op +WorkloadActual 73: 16777216 op, 951535800.00 ns, 56.7160 ns/op +WorkloadActual 74: 16777216 op, 920269300.00 ns, 54.8523 ns/op +WorkloadActual 75: 16777216 op, 908566200.00 ns, 54.1548 ns/op +WorkloadActual 76: 16777216 op, 891124000.00 ns, 53.1151 ns/op +WorkloadActual 77: 16777216 op, 901656800.00 ns, 53.7429 ns/op +WorkloadActual 78: 16777216 op, 907776900.00 ns, 54.1077 ns/op +WorkloadActual 79: 16777216 op, 955371700.00 ns, 56.9446 ns/op +WorkloadActual 80: 16777216 op, 900565700.00 ns, 53.6779 ns/op +WorkloadActual 81: 16777216 op, 918313900.00 ns, 54.7358 ns/op +WorkloadActual 82: 16777216 op, 888005200.00 ns, 52.9292 ns/op +WorkloadActual 83: 16777216 op, 897116600.00 ns, 53.4723 ns/op +WorkloadActual 84: 16777216 op, 908470100.00 ns, 54.1490 ns/op +WorkloadActual 85: 16777216 op, 940485200.00 ns, 56.0573 ns/op +WorkloadActual 86: 16777216 op, 905670400.00 ns, 53.9822 ns/op +WorkloadActual 87: 16777216 op, 910349100.00 ns, 54.2610 ns/op +WorkloadActual 88: 16777216 op, 900550100.00 ns, 53.6770 ns/op +WorkloadActual 89: 16777216 op, 899517500.00 ns, 53.6154 ns/op +WorkloadActual 90: 16777216 op, 898954200.00 ns, 53.5818 ns/op +WorkloadActual 91: 16777216 op, 917119100.00 ns, 54.6646 ns/op +WorkloadActual 92: 16777216 op, 890864100.00 ns, 53.0996 ns/op +WorkloadActual 93: 16777216 op, 893627800.00 ns, 53.2644 ns/op +WorkloadActual 94: 16777216 op, 899328100.00 ns, 53.6041 ns/op +WorkloadActual 95: 16777216 op, 895203400.00 ns, 53.3583 ns/op +WorkloadActual 96: 16777216 op, 909130300.00 ns, 54.1884 ns/op +WorkloadActual 97: 16777216 op, 1109891100.00 ns, 66.1547 ns/op +WorkloadActual 98: 16777216 op, 1208537200.00 ns, 72.0344 ns/op +WorkloadActual 99: 16777216 op, 1057973500.00 ns, 63.0601 ns/op +WorkloadActual 100: 16777216 op, 905048600.00 ns, 53.9451 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 886384800.00 ns, 52.8327 ns/op +WorkloadResult 2: 16777216 op, 971973100.00 ns, 57.9341 ns/op +WorkloadResult 3: 16777216 op, 1131540900.00 ns, 67.4451 ns/op +WorkloadResult 4: 16777216 op, 1046542600.00 ns, 62.3788 ns/op +WorkloadResult 5: 16777216 op, 1042092300.00 ns, 62.1135 ns/op +WorkloadResult 6: 16777216 op, 981873300.00 ns, 58.5242 ns/op +WorkloadResult 7: 16777216 op, 1060558600.00 ns, 63.2142 ns/op +WorkloadResult 8: 16777216 op, 1097711300.00 ns, 65.4287 ns/op +WorkloadResult 9: 16777216 op, 1137981300.00 ns, 67.8290 ns/op +WorkloadResult 10: 16777216 op, 1155551300.00 ns, 68.8762 ns/op +WorkloadResult 11: 16777216 op, 1219003800.00 ns, 72.6583 ns/op +WorkloadResult 12: 16777216 op, 1053070500.00 ns, 62.7679 ns/op +WorkloadResult 13: 16777216 op, 971316400.00 ns, 57.8950 ns/op +WorkloadResult 14: 16777216 op, 1169925800.00 ns, 69.7330 ns/op +WorkloadResult 15: 16777216 op, 1099347300.00 ns, 65.5262 ns/op +WorkloadResult 16: 16777216 op, 1131587200.00 ns, 67.4479 ns/op +WorkloadResult 17: 16777216 op, 895422900.00 ns, 53.3714 ns/op +WorkloadResult 18: 16777216 op, 894168300.00 ns, 53.2966 ns/op +WorkloadResult 19: 16777216 op, 1311323500.00 ns, 78.1610 ns/op +WorkloadResult 20: 16777216 op, 1279730600.00 ns, 76.2779 ns/op +WorkloadResult 21: 16777216 op, 1042814200.00 ns, 62.1566 ns/op +WorkloadResult 22: 16777216 op, 1121074300.00 ns, 66.8212 ns/op +WorkloadResult 23: 16777216 op, 1156880100.00 ns, 68.9554 ns/op +WorkloadResult 24: 16777216 op, 1114539300.00 ns, 66.4317 ns/op +WorkloadResult 25: 16777216 op, 1012753100.00 ns, 60.3648 ns/op +WorkloadResult 26: 16777216 op, 1099880800.00 ns, 65.5580 ns/op +WorkloadResult 27: 16777216 op, 1065763600.00 ns, 63.5245 ns/op +WorkloadResult 28: 16777216 op, 877293100.00 ns, 52.2907 ns/op +WorkloadResult 29: 16777216 op, 1048821700.00 ns, 62.5146 ns/op +WorkloadResult 30: 16777216 op, 1182276500.00 ns, 70.4692 ns/op +WorkloadResult 31: 16777216 op, 1243218500.00 ns, 74.1016 ns/op +WorkloadResult 32: 16777216 op, 1391927700.00 ns, 82.9654 ns/op +WorkloadResult 33: 16777216 op, 1233381200.00 ns, 73.5152 ns/op +WorkloadResult 34: 16777216 op, 1135852700.00 ns, 67.7021 ns/op +WorkloadResult 35: 16777216 op, 1178571500.00 ns, 70.2483 ns/op +WorkloadResult 36: 16777216 op, 1156255100.00 ns, 68.9182 ns/op +WorkloadResult 37: 16777216 op, 966364000.00 ns, 57.5998 ns/op +WorkloadResult 38: 16777216 op, 886175500.00 ns, 52.8202 ns/op +WorkloadResult 39: 16777216 op, 873393700.00 ns, 52.0583 ns/op +WorkloadResult 40: 16777216 op, 887915300.00 ns, 52.9239 ns/op +WorkloadResult 41: 16777216 op, 966199200.00 ns, 57.5900 ns/op +WorkloadResult 42: 16777216 op, 966194900.00 ns, 57.5897 ns/op +WorkloadResult 43: 16777216 op, 1128371300.00 ns, 67.2562 ns/op +WorkloadResult 44: 16777216 op, 1138965500.00 ns, 67.8876 ns/op +WorkloadResult 45: 16777216 op, 1072120700.00 ns, 63.9034 ns/op +WorkloadResult 46: 16777216 op, 990790500.00 ns, 59.0557 ns/op +WorkloadResult 47: 16777216 op, 895159400.00 ns, 53.3557 ns/op +WorkloadResult 48: 16777216 op, 891771200.00 ns, 53.1537 ns/op +WorkloadResult 49: 16777216 op, 882212000.00 ns, 52.5839 ns/op +WorkloadResult 50: 16777216 op, 881469900.00 ns, 52.5397 ns/op +WorkloadResult 51: 16777216 op, 889393600.00 ns, 53.0120 ns/op +WorkloadResult 52: 16777216 op, 882308200.00 ns, 52.5897 ns/op +WorkloadResult 53: 16777216 op, 900159100.00 ns, 53.6537 ns/op +WorkloadResult 54: 16777216 op, 899758400.00 ns, 53.6298 ns/op +WorkloadResult 55: 16777216 op, 912889900.00 ns, 54.4125 ns/op +WorkloadResult 56: 16777216 op, 883398700.00 ns, 52.6547 ns/op +WorkloadResult 57: 16777216 op, 876903700.00 ns, 52.2675 ns/op +WorkloadResult 58: 16777216 op, 900014100.00 ns, 53.6450 ns/op +WorkloadResult 59: 16777216 op, 928103300.00 ns, 55.3193 ns/op +WorkloadResult 60: 16777216 op, 882136900.00 ns, 52.5795 ns/op +WorkloadResult 61: 16777216 op, 877056300.00 ns, 52.2766 ns/op +WorkloadResult 62: 16777216 op, 898636700.00 ns, 53.5629 ns/op +WorkloadResult 63: 16777216 op, 893388900.00 ns, 53.2501 ns/op +WorkloadResult 64: 16777216 op, 942081200.00 ns, 56.1524 ns/op +WorkloadResult 65: 16777216 op, 907445600.00 ns, 54.0880 ns/op +WorkloadResult 66: 16777216 op, 884530500.00 ns, 52.7221 ns/op +WorkloadResult 67: 16777216 op, 889634900.00 ns, 53.0264 ns/op +WorkloadResult 68: 16777216 op, 893158200.00 ns, 53.2364 ns/op +WorkloadResult 69: 16777216 op, 893513000.00 ns, 53.2575 ns/op +WorkloadResult 70: 16777216 op, 933788200.00 ns, 55.6581 ns/op +WorkloadResult 71: 16777216 op, 902521700.00 ns, 53.7945 ns/op +WorkloadResult 72: 16777216 op, 890818600.00 ns, 53.0969 ns/op +WorkloadResult 73: 16777216 op, 873376400.00 ns, 52.0573 ns/op +WorkloadResult 74: 16777216 op, 883909200.00 ns, 52.6851 ns/op +WorkloadResult 75: 16777216 op, 890029300.00 ns, 53.0499 ns/op +WorkloadResult 76: 16777216 op, 937624100.00 ns, 55.8868 ns/op +WorkloadResult 77: 16777216 op, 882818100.00 ns, 52.6201 ns/op +WorkloadResult 78: 16777216 op, 900566300.00 ns, 53.6779 ns/op +WorkloadResult 79: 16777216 op, 870257600.00 ns, 51.8714 ns/op +WorkloadResult 80: 16777216 op, 879369000.00 ns, 52.4145 ns/op +WorkloadResult 81: 16777216 op, 890722500.00 ns, 53.0912 ns/op +WorkloadResult 82: 16777216 op, 922737600.00 ns, 54.9994 ns/op +WorkloadResult 83: 16777216 op, 887922800.00 ns, 52.9243 ns/op +WorkloadResult 84: 16777216 op, 892601500.00 ns, 53.2032 ns/op +WorkloadResult 85: 16777216 op, 882802500.00 ns, 52.6191 ns/op +WorkloadResult 86: 16777216 op, 881769900.00 ns, 52.5576 ns/op +WorkloadResult 87: 16777216 op, 881206600.00 ns, 52.5240 ns/op +WorkloadResult 88: 16777216 op, 899371500.00 ns, 53.6067 ns/op +WorkloadResult 89: 16777216 op, 873116500.00 ns, 52.0418 ns/op +WorkloadResult 90: 16777216 op, 875880200.00 ns, 52.2065 ns/op +WorkloadResult 91: 16777216 op, 881580500.00 ns, 52.5463 ns/op +WorkloadResult 92: 16777216 op, 877455800.00 ns, 52.3004 ns/op +WorkloadResult 93: 16777216 op, 891382700.00 ns, 53.1305 ns/op +WorkloadResult 94: 16777216 op, 1092143500.00 ns, 65.0968 ns/op +WorkloadResult 95: 16777216 op, 1190789600.00 ns, 70.9766 ns/op +WorkloadResult 96: 16777216 op, 1040225900.00 ns, 62.0023 ns/op +WorkloadResult 97: 16777216 op, 887301000.00 ns, 52.8873 ns/op +// GC: 931 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 116644 has exited with code 0. + +Mean = 58.778 ns, StdErr = 0.766 ns (1.30%), N = 97, StdDev = 7.540 ns +Min = 51.871 ns, Q1 = 52.887 ns, Median = 54.088 ns, Q3 = 65.097 ns, Max = 82.965 ns +IQR = 12.210 ns, LowerFence = 34.573 ns, UpperFence = 83.411 ns +ConfidenceInterval = [56.179 ns; 61.377 ns] (CI 99.9%), Margin = 2.599 ns (4.42% of Mean) +Skewness = 1.01, Kurtosis = 2.99, MValue = 2.33 + +// ** Remained 23 (71.9%) benchmark(s) to run. Estimated finish 2026-02-23 19:08 (0h 11m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 22 (68.8%) benchmark(s) to run. Estimated finish 2026-02-23 19:06 (0h 10m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 21 (65.6%) benchmark(s) to run. Estimated finish 2026-02-23 19:05 (0h 8m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 20 (62.5%) benchmark(s) to run. Estimated finish 2026-02-23 19:04 (0h 7m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 19 (59.4%) benchmark(s) to run. Estimated finish 2026-02-23 19:03 (0h 6m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 18 (56.2%) benchmark(s) to run. Estimated finish 2026-02-23 19:02 (0h 6m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.html + +// * Detailed results * +ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.784 ns, StdErr = 0.070 ns (0.21%), N = 15, StdDev = 0.272 ns +Min = 33.396 ns, Q1 = 33.552 ns, Median = 33.817 ns, Q3 = 33.996 ns, Max = 34.163 ns +IQR = 0.444 ns, LowerFence = 32.886 ns, UpperFence = 34.662 ns +ConfidenceInterval = [33.493 ns; 34.076 ns] (CI 99.9%), Margin = 0.291 ns (0.86% of Mean) +Skewness = -0.02, Kurtosis = 1.3, MValue = 2 +-------------------- Histogram -------------------- +[33.251 ns ; 34.308 ns) | @@@@@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.901 ns, StdErr = 0.011 ns (0.03%), N = 12, StdDev = 0.037 ns +Min = 33.815 ns, Q1 = 33.884 ns, Median = 33.906 ns, Q3 = 33.929 ns, Max = 33.944 ns +IQR = 0.045 ns, LowerFence = 33.816 ns, UpperFence = 33.997 ns +ConfidenceInterval = [33.853 ns; 33.949 ns] (CI 99.9%), Margin = 0.048 ns (0.14% of Mean) +Skewness = -0.81, Kurtosis = 2.84, MValue = 2 +-------------------- Histogram -------------------- +[33.794 ns ; 33.966 ns) | @@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 51.801 ns, StdErr = 0.193 ns (0.37%), N = 14, StdDev = 0.723 ns +Min = 50.930 ns, Q1 = 51.256 ns, Median = 51.587 ns, Q3 = 52.249 ns, Max = 53.202 ns +IQR = 0.993 ns, LowerFence = 49.767 ns, UpperFence = 53.738 ns +ConfidenceInterval = [50.985 ns; 52.617 ns] (CI 99.9%), Margin = 0.816 ns (1.58% of Mean) +Skewness = 0.53, Kurtosis = 1.92, MValue = 2 +-------------------- Histogram -------------------- +[50.763 ns ; 53.596 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 43.666 ns, StdErr = 0.269 ns (0.62%), N = 91, StdDev = 2.568 ns +Min = 41.337 ns, Q1 = 42.054 ns, Median = 42.605 ns, Q3 = 44.323 ns, Max = 51.013 ns +IQR = 2.269 ns, LowerFence = 38.650 ns, UpperFence = 47.727 ns +ConfidenceInterval = [42.750 ns; 44.582 ns] (CI 99.9%), Margin = 0.916 ns (2.10% of Mean) +Skewness = 1.55, Kurtosis = 4.3, MValue = 2.05 +-------------------- Histogram -------------------- +[41.319 ns ; 42.818 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[42.818 ns ; 44.482 ns) | @@@@@@@@@@@@@@@@@@@@ +[44.482 ns ; 46.839 ns) | @@@@@@@@ +[46.839 ns ; 48.377 ns) | @@@ +[48.377 ns ; 50.546 ns) | @@@@@@@ +[50.546 ns ; 51.763 ns) | @@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 58.778 ns, StdErr = 0.766 ns (1.30%), N = 97, StdDev = 7.540 ns +Min = 51.871 ns, Q1 = 52.887 ns, Median = 54.088 ns, Q3 = 65.097 ns, Max = 82.965 ns +IQR = 12.210 ns, LowerFence = 34.573 ns, UpperFence = 83.411 ns +ConfidenceInterval = [56.179 ns; 61.377 ns] (CI 99.9%), Margin = 2.599 ns (4.42% of Mean) +Skewness = 1.01, Kurtosis = 2.99, MValue = 2.33 +-------------------- Histogram -------------------- +[51.858 ns ; 56.166 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[56.166 ns ; 59.980 ns) | @@@@@@@ +[59.980 ns ; 64.872 ns) | @@@@@@@@@@ +[64.872 ns ; 69.180 ns) | @@@@@@@@@@@@@@@ +[69.180 ns ; 73.778 ns) | @@@@@@ +[73.778 ns ; 78.285 ns) | @@@ +[78.285 ns ; 80.811 ns) | +[80.811 ns ; 85.119 ns) | @ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + + +| Method | Job | Runtime | Mean | +|--------------------- |--------------------- |--------------------- |---------:| +| CloneSmall16Bytes | .NET 10.0 | .NET 10.0 | 33.78 ns | +| CloneMedium128Bytes | .NET 10.0 | .NET 10.0 | 33.90 ns | +| CloneLarge1024Bytes | .NET 10.0 | .NET 10.0 | 51.80 ns | +| CloneInt128Elements | .NET 10.0 | .NET 10.0 | 43.67 ns | +| CloneLong128Elements | .NET 10.0 | .NET 10.0 | 58.78 ns | +| CloneSmall16Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneMedium128Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneLarge1024Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneInt128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneLong128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | + +Benchmarks with issues: + ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0 -> 3 outliers were removed (35.39 ns..35.50 ns) + ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0 -> 1 outlier was removed (56.67 ns) + ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0 -> 9 outliers were removed (52.63 ns..57.35 ns) + ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0 -> 3 outliers were removed (85.58 ns..105.30 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - CPUUsageDiagnoser * +Saving diagsession as a file. This may take a moment... +No statistics information in ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +Exported diagsession file: D:\repos\bcgit\bc-csharp\BenchmarkDotNet.Artifacts\BenchmarkDotNet_ArraysCloneBenchmarks_20260223_185614.diagsession. + + +// ***** BenchmarkRunner: End ***** +Run time: 00:04:37 (277.66 sec), executed benchmarks: 5 + +// Found 18 benchmarks: +// CloneImplementationComparison.SmallArrayClone: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.SmallNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.SmallAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.MediumArrayClone: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.MediumNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.MediumAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.LargeArrayClone: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.LargeNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.LargeAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// CloneImplementationComparison.SmallArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.SmallNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.SmallAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.MediumArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.MediumNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.MediumAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.LargeArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.LargeNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// CloneImplementationComparison.LargeAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.SmallArrayClone: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2684 2524 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.SmallArrayClone --job ".NET 10.0" --benchmarkId 7 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 77100.00 ns, 77.1000 us/op +WorkloadJitting 1: 1 op, 134300.00 ns, 134.3000 us/op + +OverheadJitting 2: 16 op, 110600.00 ns, 6.9125 us/op +WorkloadJitting 2: 16 op, 102100.00 ns, 6.3813 us/op + +WorkloadPilot 1: 16 op, 1900.00 ns, 118.7500 ns/op +WorkloadPilot 2: 32 op, 2300.00 ns, 71.8750 ns/op +WorkloadPilot 3: 64 op, 7500.00 ns, 117.1875 ns/op +WorkloadPilot 4: 128 op, 11100.00 ns, 86.7188 ns/op +WorkloadPilot 5: 256 op, 18100.00 ns, 70.7031 ns/op +WorkloadPilot 6: 512 op, 24600.00 ns, 48.0469 ns/op +WorkloadPilot 7: 1024 op, 52300.00 ns, 51.0742 ns/op +WorkloadPilot 8: 2048 op, 100400.00 ns, 49.0234 ns/op +WorkloadPilot 9: 4096 op, 208800.00 ns, 50.9766 ns/op +WorkloadPilot 10: 8192 op, 363400.00 ns, 44.3604 ns/op +WorkloadPilot 11: 16384 op, 766800.00 ns, 46.8018 ns/op +WorkloadPilot 12: 32768 op, 1502400.00 ns, 45.8496 ns/op +WorkloadPilot 13: 65536 op, 2982700.00 ns, 45.5124 ns/op +WorkloadPilot 14: 131072 op, 6140600.00 ns, 46.8491 ns/op +WorkloadPilot 15: 262144 op, 12385300.00 ns, 47.2462 ns/op +WorkloadPilot 16: 524288 op, 22006100.00 ns, 41.9733 ns/op +WorkloadPilot 17: 1048576 op, 44703100.00 ns, 42.6322 ns/op +WorkloadPilot 18: 2097152 op, 84672700.00 ns, 40.3751 ns/op +WorkloadPilot 19: 4194304 op, 148833200.00 ns, 35.4846 ns/op +WorkloadPilot 20: 8388608 op, 308897900.00 ns, 36.8235 ns/op +WorkloadPilot 21: 16777216 op, 582407700.00 ns, 34.7142 ns/op + +OverheadWarmup 1: 16777216 op, 22499300.00 ns, 1.3411 ns/op +OverheadWarmup 2: 16777216 op, 22291400.00 ns, 1.3287 ns/op +OverheadWarmup 3: 16777216 op, 22543000.00 ns, 1.3437 ns/op +OverheadWarmup 4: 16777216 op, 22281000.00 ns, 1.3281 ns/op +OverheadWarmup 5: 16777216 op, 22710200.00 ns, 1.3536 ns/op +OverheadWarmup 6: 16777216 op, 22580600.00 ns, 1.3459 ns/op + +OverheadActual 1: 16777216 op, 23233300.00 ns, 1.3848 ns/op +OverheadActual 2: 16777216 op, 22278700.00 ns, 1.3279 ns/op +OverheadActual 3: 16777216 op, 22481600.00 ns, 1.3400 ns/op +OverheadActual 4: 16777216 op, 23152700.00 ns, 1.3800 ns/op +OverheadActual 5: 16777216 op, 22320600.00 ns, 1.3304 ns/op +OverheadActual 6: 16777216 op, 24223600.00 ns, 1.4438 ns/op +OverheadActual 7: 16777216 op, 22445600.00 ns, 1.3379 ns/op +OverheadActual 8: 16777216 op, 22447500.00 ns, 1.3380 ns/op +OverheadActual 9: 16777216 op, 22537700.00 ns, 1.3434 ns/op +OverheadActual 10: 16777216 op, 22605600.00 ns, 1.3474 ns/op +OverheadActual 11: 16777216 op, 22770600.00 ns, 1.3572 ns/op +OverheadActual 12: 16777216 op, 23599700.00 ns, 1.4067 ns/op +OverheadActual 13: 16777216 op, 20727900.00 ns, 1.2355 ns/op +OverheadActual 14: 16777216 op, 18049800.00 ns, 1.0759 ns/op +OverheadActual 15: 16777216 op, 17604400.00 ns, 1.0493 ns/op +OverheadActual 16: 16777216 op, 18485900.00 ns, 1.1018 ns/op +OverheadActual 17: 16777216 op, 18281400.00 ns, 1.0897 ns/op +OverheadActual 18: 16777216 op, 18421600.00 ns, 1.0980 ns/op +OverheadActual 19: 16777216 op, 18353500.00 ns, 1.0940 ns/op +OverheadActual 20: 16777216 op, 17814200.00 ns, 1.0618 ns/op + +WorkloadWarmup 1: 16777216 op, 622295100.00 ns, 37.0917 ns/op +WorkloadWarmup 2: 16777216 op, 637524100.00 ns, 37.9994 ns/op +WorkloadWarmup 3: 16777216 op, 779136800.00 ns, 46.4402 ns/op +WorkloadWarmup 4: 16777216 op, 712392500.00 ns, 42.4619 ns/op +WorkloadWarmup 5: 16777216 op, 795032300.00 ns, 47.3876 ns/op +WorkloadWarmup 6: 16777216 op, 624932700.00 ns, 37.2489 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 728169100.00 ns, 43.4023 ns/op +WorkloadActual 2: 16777216 op, 832740600.00 ns, 49.6352 ns/op +WorkloadActual 3: 16777216 op, 739908300.00 ns, 44.1020 ns/op +WorkloadActual 4: 16777216 op, 661595100.00 ns, 39.4341 ns/op +WorkloadActual 5: 16777216 op, 751098900.00 ns, 44.7690 ns/op +WorkloadActual 6: 16777216 op, 731091200.00 ns, 43.5764 ns/op +WorkloadActual 7: 16777216 op, 794625000.00 ns, 47.3633 ns/op +WorkloadActual 8: 16777216 op, 777767900.00 ns, 46.3586 ns/op +WorkloadActual 9: 16777216 op, 709558700.00 ns, 42.2930 ns/op +WorkloadActual 10: 16777216 op, 663908700.00 ns, 39.5720 ns/op +WorkloadActual 11: 16777216 op, 673170000.00 ns, 40.1241 ns/op +WorkloadActual 12: 16777216 op, 798245500.00 ns, 47.5791 ns/op +WorkloadActual 13: 16777216 op, 731048300.00 ns, 43.5739 ns/op +WorkloadActual 14: 16777216 op, 678213200.00 ns, 40.4247 ns/op +WorkloadActual 15: 16777216 op, 615420200.00 ns, 36.6819 ns/op +WorkloadActual 16: 16777216 op, 576708600.00 ns, 34.3745 ns/op +WorkloadActual 17: 16777216 op, 583740300.00 ns, 34.7936 ns/op +WorkloadActual 18: 16777216 op, 579915000.00 ns, 34.5656 ns/op +WorkloadActual 19: 16777216 op, 613300800.00 ns, 36.5556 ns/op +WorkloadActual 20: 16777216 op, 671376700.00 ns, 40.0172 ns/op +WorkloadActual 21: 16777216 op, 745619200.00 ns, 44.4424 ns/op +WorkloadActual 22: 16777216 op, 771116800.00 ns, 45.9621 ns/op +WorkloadActual 23: 16777216 op, 647945600.00 ns, 38.6206 ns/op +WorkloadActual 24: 16777216 op, 671030300.00 ns, 39.9965 ns/op +WorkloadActual 25: 16777216 op, 668082500.00 ns, 39.8208 ns/op +WorkloadActual 26: 16777216 op, 774174800.00 ns, 46.1444 ns/op +WorkloadActual 27: 16777216 op, 764144100.00 ns, 45.5465 ns/op +WorkloadActual 28: 16777216 op, 736463700.00 ns, 43.8967 ns/op +WorkloadActual 29: 16777216 op, 741544100.00 ns, 44.1995 ns/op +WorkloadActual 30: 16777216 op, 867713300.00 ns, 51.7197 ns/op +WorkloadActual 31: 16777216 op, 686204400.00 ns, 40.9010 ns/op +WorkloadActual 32: 16777216 op, 599838200.00 ns, 35.7531 ns/op +WorkloadActual 33: 16777216 op, 643721900.00 ns, 38.3688 ns/op +WorkloadActual 34: 16777216 op, 656446400.00 ns, 39.1273 ns/op +WorkloadActual 35: 16777216 op, 739342400.00 ns, 44.0682 ns/op +WorkloadActual 36: 16777216 op, 681707400.00 ns, 40.6329 ns/op +WorkloadActual 37: 16777216 op, 655929500.00 ns, 39.0964 ns/op +WorkloadActual 38: 16777216 op, 575787200.00 ns, 34.3196 ns/op +WorkloadActual 39: 16777216 op, 743653800.00 ns, 44.3252 ns/op +WorkloadActual 40: 16777216 op, 991871000.00 ns, 59.1201 ns/op +WorkloadActual 41: 16777216 op, 614973600.00 ns, 36.6553 ns/op +WorkloadActual 42: 16777216 op, 815691200.00 ns, 48.6190 ns/op +WorkloadActual 43: 16777216 op, 1087988000.00 ns, 64.8491 ns/op +WorkloadActual 44: 16777216 op, 829784900.00 ns, 49.4590 ns/op +WorkloadActual 45: 16777216 op, 728188000.00 ns, 43.4034 ns/op +WorkloadActual 46: 16777216 op, 796519600.00 ns, 47.4763 ns/op +WorkloadActual 47: 16777216 op, 846390200.00 ns, 50.4488 ns/op +WorkloadActual 48: 16777216 op, 690535100.00 ns, 41.1591 ns/op +WorkloadActual 49: 16777216 op, 700850600.00 ns, 41.7740 ns/op +WorkloadActual 50: 16777216 op, 838528800.00 ns, 49.9802 ns/op +WorkloadActual 51: 16777216 op, 704433100.00 ns, 41.9875 ns/op +WorkloadActual 52: 16777216 op, 694308300.00 ns, 41.3840 ns/op +WorkloadActual 53: 16777216 op, 623756200.00 ns, 37.1788 ns/op +WorkloadActual 54: 16777216 op, 604899200.00 ns, 36.0548 ns/op +WorkloadActual 55: 16777216 op, 646436600.00 ns, 38.5306 ns/op +WorkloadActual 56: 16777216 op, 759329000.00 ns, 45.2595 ns/op +WorkloadActual 57: 16777216 op, 677910600.00 ns, 40.4066 ns/op +WorkloadActual 58: 16777216 op, 690014900.00 ns, 41.1281 ns/op +WorkloadActual 59: 16777216 op, 639951300.00 ns, 38.1441 ns/op +WorkloadActual 60: 16777216 op, 626689100.00 ns, 37.3536 ns/op +WorkloadActual 61: 16777216 op, 608954800.00 ns, 36.2965 ns/op +WorkloadActual 62: 16777216 op, 627064500.00 ns, 37.3760 ns/op +WorkloadActual 63: 16777216 op, 651916400.00 ns, 38.8572 ns/op +WorkloadActual 64: 16777216 op, 766295800.00 ns, 45.6748 ns/op +WorkloadActual 65: 16777216 op, 670395100.00 ns, 39.9587 ns/op +WorkloadActual 66: 16777216 op, 581839000.00 ns, 34.6803 ns/op +WorkloadActual 67: 16777216 op, 578064200.00 ns, 34.4553 ns/op +WorkloadActual 68: 16777216 op, 578875100.00 ns, 34.5036 ns/op +WorkloadActual 69: 16777216 op, 665949600.00 ns, 39.6937 ns/op +WorkloadActual 70: 16777216 op, 636093300.00 ns, 37.9141 ns/op +WorkloadActual 71: 16777216 op, 694199900.00 ns, 41.3775 ns/op +WorkloadActual 72: 16777216 op, 686986900.00 ns, 40.9476 ns/op +WorkloadActual 73: 16777216 op, 766551100.00 ns, 45.6900 ns/op +WorkloadActual 74: 16777216 op, 630816700.00 ns, 37.5996 ns/op +WorkloadActual 75: 16777216 op, 600321700.00 ns, 35.7820 ns/op +WorkloadActual 76: 16777216 op, 704492400.00 ns, 41.9910 ns/op +WorkloadActual 77: 16777216 op, 707304600.00 ns, 42.1586 ns/op +WorkloadActual 78: 16777216 op, 701210300.00 ns, 41.7954 ns/op +WorkloadActual 79: 16777216 op, 688599500.00 ns, 41.0437 ns/op +WorkloadActual 80: 16777216 op, 742776700.00 ns, 44.2729 ns/op +WorkloadActual 81: 16777216 op, 652584100.00 ns, 38.8970 ns/op +WorkloadActual 82: 16777216 op, 638628900.00 ns, 38.0652 ns/op +WorkloadActual 83: 16777216 op, 690050800.00 ns, 41.1302 ns/op +WorkloadActual 84: 16777216 op, 595559400.00 ns, 35.4981 ns/op +WorkloadActual 85: 16777216 op, 637959400.00 ns, 38.0253 ns/op +WorkloadActual 86: 16777216 op, 747774200.00 ns, 44.5708 ns/op +WorkloadActual 87: 16777216 op, 663885400.00 ns, 39.5707 ns/op +WorkloadActual 88: 16777216 op, 643133100.00 ns, 38.3337 ns/op +WorkloadActual 89: 16777216 op, 724430100.00 ns, 43.1794 ns/op +WorkloadActual 90: 16777216 op, 612852400.00 ns, 36.5288 ns/op +WorkloadActual 91: 16777216 op, 686607300.00 ns, 40.9250 ns/op +WorkloadActual 92: 16777216 op, 665052700.00 ns, 39.6402 ns/op +WorkloadActual 93: 16777216 op, 579847500.00 ns, 34.5616 ns/op +WorkloadActual 94: 16777216 op, 576944800.00 ns, 34.3886 ns/op +WorkloadActual 95: 16777216 op, 578266500.00 ns, 34.4674 ns/op +WorkloadActual 96: 16777216 op, 638664200.00 ns, 38.0674 ns/op +WorkloadActual 97: 16777216 op, 718510000.00 ns, 42.8265 ns/op +WorkloadActual 98: 16777216 op, 636790100.00 ns, 37.9556 ns/op +WorkloadActual 99: 16777216 op, 636810400.00 ns, 37.9569 ns/op +WorkloadActual 100: 16777216 op, 734566400.00 ns, 43.7836 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 705786000.00 ns, 42.0681 ns/op +WorkloadResult 2: 16777216 op, 810357500.00 ns, 48.3011 ns/op +WorkloadResult 3: 16777216 op, 717525200.00 ns, 42.7678 ns/op +WorkloadResult 4: 16777216 op, 639212000.00 ns, 38.1000 ns/op +WorkloadResult 5: 16777216 op, 728715800.00 ns, 43.4348 ns/op +WorkloadResult 6: 16777216 op, 708708100.00 ns, 42.2423 ns/op +WorkloadResult 7: 16777216 op, 772241900.00 ns, 46.0292 ns/op +WorkloadResult 8: 16777216 op, 755384800.00 ns, 45.0244 ns/op +WorkloadResult 9: 16777216 op, 687175600.00 ns, 40.9589 ns/op +WorkloadResult 10: 16777216 op, 641525600.00 ns, 38.2379 ns/op +WorkloadResult 11: 16777216 op, 650786900.00 ns, 38.7899 ns/op +WorkloadResult 12: 16777216 op, 775862400.00 ns, 46.2450 ns/op +WorkloadResult 13: 16777216 op, 708665200.00 ns, 42.2397 ns/op +WorkloadResult 14: 16777216 op, 655830100.00 ns, 39.0905 ns/op +WorkloadResult 15: 16777216 op, 593037100.00 ns, 35.3478 ns/op +WorkloadResult 16: 16777216 op, 554325500.00 ns, 33.0404 ns/op +WorkloadResult 17: 16777216 op, 561357200.00 ns, 33.4595 ns/op +WorkloadResult 18: 16777216 op, 557531900.00 ns, 33.2315 ns/op +WorkloadResult 19: 16777216 op, 590917700.00 ns, 35.2214 ns/op +WorkloadResult 20: 16777216 op, 648993600.00 ns, 38.6830 ns/op +WorkloadResult 21: 16777216 op, 723236100.00 ns, 43.1082 ns/op +WorkloadResult 22: 16777216 op, 748733700.00 ns, 44.6280 ns/op +WorkloadResult 23: 16777216 op, 625562500.00 ns, 37.2864 ns/op +WorkloadResult 24: 16777216 op, 648647200.00 ns, 38.6624 ns/op +WorkloadResult 25: 16777216 op, 645699400.00 ns, 38.4867 ns/op +WorkloadResult 26: 16777216 op, 751791700.00 ns, 44.8103 ns/op +WorkloadResult 27: 16777216 op, 741761000.00 ns, 44.2124 ns/op +WorkloadResult 28: 16777216 op, 714080600.00 ns, 42.5625 ns/op +WorkloadResult 29: 16777216 op, 719161000.00 ns, 42.8653 ns/op +WorkloadResult 30: 16777216 op, 845330200.00 ns, 50.3856 ns/op +WorkloadResult 31: 16777216 op, 663821300.00 ns, 39.5668 ns/op +WorkloadResult 32: 16777216 op, 577455100.00 ns, 34.4190 ns/op +WorkloadResult 33: 16777216 op, 621338800.00 ns, 37.0347 ns/op +WorkloadResult 34: 16777216 op, 634063300.00 ns, 37.7931 ns/op +WorkloadResult 35: 16777216 op, 716959300.00 ns, 42.7341 ns/op +WorkloadResult 36: 16777216 op, 659324300.00 ns, 39.2988 ns/op +WorkloadResult 37: 16777216 op, 633546400.00 ns, 37.7623 ns/op +WorkloadResult 38: 16777216 op, 553404100.00 ns, 32.9855 ns/op +WorkloadResult 39: 16777216 op, 721270700.00 ns, 42.9911 ns/op +WorkloadResult 40: 16777216 op, 592590500.00 ns, 35.3211 ns/op +WorkloadResult 41: 16777216 op, 793308100.00 ns, 47.2848 ns/op +WorkloadResult 42: 16777216 op, 807401800.00 ns, 48.1249 ns/op +WorkloadResult 43: 16777216 op, 705804900.00 ns, 42.0693 ns/op +WorkloadResult 44: 16777216 op, 774136500.00 ns, 46.1421 ns/op +WorkloadResult 45: 16777216 op, 824007100.00 ns, 49.1147 ns/op +WorkloadResult 46: 16777216 op, 668152000.00 ns, 39.8250 ns/op +WorkloadResult 47: 16777216 op, 678467500.00 ns, 40.4398 ns/op +WorkloadResult 48: 16777216 op, 816145700.00 ns, 48.6461 ns/op +WorkloadResult 49: 16777216 op, 682050000.00 ns, 40.6533 ns/op +WorkloadResult 50: 16777216 op, 671925200.00 ns, 40.0499 ns/op +WorkloadResult 51: 16777216 op, 601373100.00 ns, 35.8446 ns/op +WorkloadResult 52: 16777216 op, 582516100.00 ns, 34.7207 ns/op +WorkloadResult 53: 16777216 op, 624053500.00 ns, 37.1965 ns/op +WorkloadResult 54: 16777216 op, 736945900.00 ns, 43.9254 ns/op +WorkloadResult 55: 16777216 op, 655527500.00 ns, 39.0725 ns/op +WorkloadResult 56: 16777216 op, 667631800.00 ns, 39.7940 ns/op +WorkloadResult 57: 16777216 op, 617568200.00 ns, 36.8099 ns/op +WorkloadResult 58: 16777216 op, 604306000.00 ns, 36.0194 ns/op +WorkloadResult 59: 16777216 op, 586571700.00 ns, 34.9624 ns/op +WorkloadResult 60: 16777216 op, 604681400.00 ns, 36.0418 ns/op +WorkloadResult 61: 16777216 op, 629533300.00 ns, 37.5231 ns/op +WorkloadResult 62: 16777216 op, 743912700.00 ns, 44.3407 ns/op +WorkloadResult 63: 16777216 op, 648012000.00 ns, 38.6245 ns/op +WorkloadResult 64: 16777216 op, 559455900.00 ns, 33.3462 ns/op +WorkloadResult 65: 16777216 op, 555681100.00 ns, 33.1212 ns/op +WorkloadResult 66: 16777216 op, 556492000.00 ns, 33.1695 ns/op +WorkloadResult 67: 16777216 op, 643566500.00 ns, 38.3596 ns/op +WorkloadResult 68: 16777216 op, 613710200.00 ns, 36.5800 ns/op +WorkloadResult 69: 16777216 op, 671816800.00 ns, 40.0434 ns/op +WorkloadResult 70: 16777216 op, 664603800.00 ns, 39.6135 ns/op +WorkloadResult 71: 16777216 op, 744168000.00 ns, 44.3559 ns/op +WorkloadResult 72: 16777216 op, 608433600.00 ns, 36.2655 ns/op +WorkloadResult 73: 16777216 op, 577938600.00 ns, 34.4478 ns/op +WorkloadResult 74: 16777216 op, 682109300.00 ns, 40.6569 ns/op +WorkloadResult 75: 16777216 op, 684921500.00 ns, 40.8245 ns/op +WorkloadResult 76: 16777216 op, 678827200.00 ns, 40.4613 ns/op +WorkloadResult 77: 16777216 op, 666216400.00 ns, 39.7096 ns/op +WorkloadResult 78: 16777216 op, 720393600.00 ns, 42.9388 ns/op +WorkloadResult 79: 16777216 op, 630201000.00 ns, 37.5629 ns/op +WorkloadResult 80: 16777216 op, 616245800.00 ns, 36.7311 ns/op +WorkloadResult 81: 16777216 op, 667667700.00 ns, 39.7961 ns/op +WorkloadResult 82: 16777216 op, 573176300.00 ns, 34.1640 ns/op +WorkloadResult 83: 16777216 op, 615576300.00 ns, 36.6912 ns/op +WorkloadResult 84: 16777216 op, 725391100.00 ns, 43.2367 ns/op +WorkloadResult 85: 16777216 op, 641502300.00 ns, 38.2365 ns/op +WorkloadResult 86: 16777216 op, 620750000.00 ns, 36.9996 ns/op +WorkloadResult 87: 16777216 op, 702047000.00 ns, 41.8453 ns/op +WorkloadResult 88: 16777216 op, 590469300.00 ns, 35.1947 ns/op +WorkloadResult 89: 16777216 op, 664224200.00 ns, 39.5908 ns/op +WorkloadResult 90: 16777216 op, 642669600.00 ns, 38.3061 ns/op +WorkloadResult 91: 16777216 op, 557464400.00 ns, 33.2275 ns/op +WorkloadResult 92: 16777216 op, 554561700.00 ns, 33.0545 ns/op +WorkloadResult 93: 16777216 op, 555883400.00 ns, 33.1332 ns/op +WorkloadResult 94: 16777216 op, 616281100.00 ns, 36.7332 ns/op +WorkloadResult 95: 16777216 op, 696126900.00 ns, 41.4924 ns/op +WorkloadResult 96: 16777216 op, 614407000.00 ns, 36.6215 ns/op +WorkloadResult 97: 16777216 op, 614427300.00 ns, 36.6227 ns/op +WorkloadResult 98: 16777216 op, 712183300.00 ns, 42.4494 ns/op +// GC: 35 0 0 671088640 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 117896 has exited with code 0. + +Mean = 39.513 ns, StdErr = 0.426 ns (1.08%), N = 98, StdDev = 4.215 ns +Min = 32.985 ns, Q1 = 36.622 ns, Median = 39.082 ns, Q3 = 42.534 ns, Max = 50.386 ns +IQR = 5.912 ns, LowerFence = 27.753 ns, UpperFence = 51.403 ns +ConfidenceInterval = [38.068 ns; 40.958 ns] (CI 99.9%), Margin = 1.445 ns (3.66% of Mean) +Skewness = 0.42, Kurtosis = 2.53, MValue = 3.2 + +// ** Remained 17 (53.1%) benchmark(s) to run. Estimated finish 2026-02-23 19:04 (0h 6m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.SmallNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2672 2768 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.SmallNewArrayBlockCopy --job ".NET 10.0" --benchmarkId 8 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 111700.00 ns, 111.7000 us/op +WorkloadJitting 1: 1 op, 144600.00 ns, 144.6000 us/op + +OverheadJitting 2: 16 op, 118300.00 ns, 7.3938 us/op +WorkloadJitting 2: 16 op, 104400.00 ns, 6.5250 us/op + +WorkloadPilot 1: 16 op, 1400.00 ns, 87.5000 ns/op +WorkloadPilot 2: 32 op, 1000.00 ns, 31.2500 ns/op +WorkloadPilot 3: 64 op, 1200.00 ns, 18.7500 ns/op +WorkloadPilot 4: 128 op, 6000.00 ns, 46.8750 ns/op +WorkloadPilot 5: 256 op, 5500.00 ns, 21.4844 ns/op +WorkloadPilot 6: 512 op, 6900.00 ns, 13.4766 ns/op +WorkloadPilot 7: 1024 op, 21400.00 ns, 20.8984 ns/op +WorkloadPilot 8: 2048 op, 37400.00 ns, 18.2617 ns/op +WorkloadPilot 9: 4096 op, 70400.00 ns, 17.1875 ns/op +WorkloadPilot 10: 8192 op, 144500.00 ns, 17.6392 ns/op +WorkloadPilot 11: 16384 op, 227600.00 ns, 13.8916 ns/op +WorkloadPilot 12: 32768 op, 470300.00 ns, 14.3524 ns/op +WorkloadPilot 13: 65536 op, 945700.00 ns, 14.4302 ns/op +WorkloadPilot 14: 131072 op, 1909700.00 ns, 14.5699 ns/op +WorkloadPilot 15: 262144 op, 4757900.00 ns, 18.1499 ns/op +WorkloadPilot 16: 524288 op, 6837700.00 ns, 13.0419 ns/op +WorkloadPilot 17: 1048576 op, 9288100.00 ns, 8.8578 ns/op +WorkloadPilot 18: 2097152 op, 18916700.00 ns, 9.0202 ns/op +WorkloadPilot 19: 4194304 op, 39254000.00 ns, 9.3589 ns/op +WorkloadPilot 20: 8388608 op, 73114900.00 ns, 8.7160 ns/op +WorkloadPilot 21: 16777216 op, 105353700.00 ns, 6.2796 ns/op +WorkloadPilot 22: 33554432 op, 212638500.00 ns, 6.3371 ns/op +WorkloadPilot 23: 67108864 op, 433630900.00 ns, 6.4616 ns/op +WorkloadPilot 24: 134217728 op, 861352700.00 ns, 6.4176 ns/op + +OverheadWarmup 1: 134217728 op, 182161100.00 ns, 1.3572 ns/op +OverheadWarmup 2: 134217728 op, 149223800.00 ns, 1.1118 ns/op +OverheadWarmup 3: 134217728 op, 141217800.00 ns, 1.0522 ns/op +OverheadWarmup 4: 134217728 op, 142411000.00 ns, 1.0610 ns/op +OverheadWarmup 5: 134217728 op, 142486200.00 ns, 1.0616 ns/op +OverheadWarmup 6: 134217728 op, 142261700.00 ns, 1.0599 ns/op +OverheadWarmup 7: 134217728 op, 142116400.00 ns, 1.0588 ns/op +OverheadWarmup 8: 134217728 op, 141317800.00 ns, 1.0529 ns/op +OverheadWarmup 9: 134217728 op, 141416200.00 ns, 1.0536 ns/op +OverheadWarmup 10: 134217728 op, 140877400.00 ns, 1.0496 ns/op + +OverheadActual 1: 134217728 op, 140965700.00 ns, 1.0503 ns/op +OverheadActual 2: 134217728 op, 141005100.00 ns, 1.0506 ns/op +OverheadActual 3: 134217728 op, 141419400.00 ns, 1.0537 ns/op +OverheadActual 4: 134217728 op, 141461100.00 ns, 1.0540 ns/op +OverheadActual 5: 134217728 op, 140885700.00 ns, 1.0497 ns/op +OverheadActual 6: 134217728 op, 141319200.00 ns, 1.0529 ns/op +OverheadActual 7: 134217728 op, 141559000.00 ns, 1.0547 ns/op +OverheadActual 8: 134217728 op, 142220900.00 ns, 1.0596 ns/op +OverheadActual 9: 134217728 op, 142041600.00 ns, 1.0583 ns/op +OverheadActual 10: 134217728 op, 142378000.00 ns, 1.0608 ns/op +OverheadActual 11: 134217728 op, 146567500.00 ns, 1.0920 ns/op +OverheadActual 12: 134217728 op, 143900200.00 ns, 1.0721 ns/op +OverheadActual 13: 134217728 op, 142422800.00 ns, 1.0611 ns/op +OverheadActual 14: 134217728 op, 142469200.00 ns, 1.0615 ns/op +OverheadActual 15: 134217728 op, 142404500.00 ns, 1.0610 ns/op + +WorkloadWarmup 1: 134217728 op, 1002495100.00 ns, 7.4692 ns/op +WorkloadWarmup 2: 134217728 op, 889363300.00 ns, 6.6263 ns/op +WorkloadWarmup 3: 134217728 op, 1234003800.00 ns, 9.1940 ns/op +WorkloadWarmup 4: 134217728 op, 1154830200.00 ns, 8.6042 ns/op +WorkloadWarmup 5: 134217728 op, 1114160500.00 ns, 8.3011 ns/op +WorkloadWarmup 6: 134217728 op, 1138853500.00 ns, 8.4851 ns/op +WorkloadWarmup 7: 134217728 op, 1091796600.00 ns, 8.1345 ns/op + +// BeforeActualRun +WorkloadActual 1: 134217728 op, 1020935500.00 ns, 7.6066 ns/op +WorkloadActual 2: 134217728 op, 1042059700.00 ns, 7.7639 ns/op +WorkloadActual 3: 134217728 op, 1026783300.00 ns, 7.6501 ns/op +WorkloadActual 4: 134217728 op, 1068342000.00 ns, 7.9598 ns/op +WorkloadActual 5: 134217728 op, 1035239400.00 ns, 7.7131 ns/op +WorkloadActual 6: 134217728 op, 1006330700.00 ns, 7.4977 ns/op +WorkloadActual 7: 134217728 op, 884240200.00 ns, 6.5881 ns/op +WorkloadActual 8: 134217728 op, 973031100.00 ns, 7.2496 ns/op +WorkloadActual 9: 134217728 op, 919263100.00 ns, 6.8490 ns/op +WorkloadActual 10: 134217728 op, 816571400.00 ns, 6.0839 ns/op +WorkloadActual 11: 134217728 op, 815600600.00 ns, 6.0767 ns/op +WorkloadActual 12: 134217728 op, 839768900.00 ns, 6.2568 ns/op +WorkloadActual 13: 134217728 op, 812990300.00 ns, 6.0572 ns/op +WorkloadActual 14: 134217728 op, 772148400.00 ns, 5.7530 ns/op +WorkloadActual 15: 134217728 op, 788112600.00 ns, 5.8719 ns/op +WorkloadActual 16: 134217728 op, 908092300.00 ns, 6.7658 ns/op +WorkloadActual 17: 134217728 op, 830108700.00 ns, 6.1848 ns/op +WorkloadActual 18: 134217728 op, 840211300.00 ns, 6.2601 ns/op +WorkloadActual 19: 134217728 op, 898727200.00 ns, 6.6960 ns/op +WorkloadActual 20: 134217728 op, 873363000.00 ns, 6.5071 ns/op +WorkloadActual 21: 134217728 op, 912781700.00 ns, 6.8008 ns/op +WorkloadActual 22: 134217728 op, 858663500.00 ns, 6.3975 ns/op +WorkloadActual 23: 134217728 op, 955190700.00 ns, 7.1167 ns/op +WorkloadActual 24: 134217728 op, 1007701800.00 ns, 7.5080 ns/op +WorkloadActual 25: 134217728 op, 954932500.00 ns, 7.1148 ns/op +WorkloadActual 26: 134217728 op, 932245600.00 ns, 6.9458 ns/op +WorkloadActual 27: 134217728 op, 921768200.00 ns, 6.8677 ns/op +WorkloadActual 28: 134217728 op, 924151100.00 ns, 6.8855 ns/op +WorkloadActual 29: 134217728 op, 938122100.00 ns, 6.9896 ns/op +WorkloadActual 30: 134217728 op, 1088641800.00 ns, 8.1110 ns/op +WorkloadActual 31: 134217728 op, 977003700.00 ns, 7.2792 ns/op +WorkloadActual 32: 134217728 op, 990621300.00 ns, 7.3807 ns/op +WorkloadActual 33: 134217728 op, 930938500.00 ns, 6.9360 ns/op +WorkloadActual 34: 134217728 op, 986579500.00 ns, 7.3506 ns/op +WorkloadActual 35: 134217728 op, 894864300.00 ns, 6.6673 ns/op +WorkloadActual 36: 134217728 op, 1060406800.00 ns, 7.9006 ns/op +WorkloadActual 37: 134217728 op, 941800000.00 ns, 7.0170 ns/op +WorkloadActual 38: 134217728 op, 799557000.00 ns, 5.9572 ns/op +WorkloadActual 39: 134217728 op, 788221100.00 ns, 5.8727 ns/op +WorkloadActual 40: 134217728 op, 778362900.00 ns, 5.7993 ns/op +WorkloadActual 41: 134217728 op, 790619300.00 ns, 5.8906 ns/op +WorkloadActual 42: 134217728 op, 841612600.00 ns, 6.2705 ns/op +WorkloadActual 43: 134217728 op, 800991100.00 ns, 5.9678 ns/op +WorkloadActual 44: 134217728 op, 928030400.00 ns, 6.9144 ns/op +WorkloadActual 45: 134217728 op, 972461300.00 ns, 7.2454 ns/op +WorkloadActual 46: 134217728 op, 920536400.00 ns, 6.8585 ns/op +WorkloadActual 47: 134217728 op, 898705700.00 ns, 6.6959 ns/op +WorkloadActual 48: 134217728 op, 835351800.00 ns, 6.2239 ns/op +WorkloadActual 49: 134217728 op, 785137500.00 ns, 5.8497 ns/op +WorkloadActual 50: 134217728 op, 843687300.00 ns, 6.2860 ns/op +WorkloadActual 51: 134217728 op, 863281700.00 ns, 6.4319 ns/op +WorkloadActual 52: 134217728 op, 828681300.00 ns, 6.1742 ns/op +WorkloadActual 53: 134217728 op, 774750300.00 ns, 5.7723 ns/op +WorkloadActual 54: 134217728 op, 878133100.00 ns, 6.5426 ns/op +WorkloadActual 55: 134217728 op, 887153500.00 ns, 6.6098 ns/op +WorkloadActual 56: 134217728 op, 814112700.00 ns, 6.0656 ns/op +WorkloadActual 57: 134217728 op, 843196700.00 ns, 6.2823 ns/op +WorkloadActual 58: 134217728 op, 830067300.00 ns, 6.1845 ns/op +WorkloadActual 59: 134217728 op, 790890200.00 ns, 5.8926 ns/op +WorkloadActual 60: 134217728 op, 796115300.00 ns, 5.9315 ns/op +WorkloadActual 61: 134217728 op, 805781700.00 ns, 6.0035 ns/op +WorkloadActual 62: 134217728 op, 813285900.00 ns, 6.0595 ns/op +WorkloadActual 63: 134217728 op, 780732000.00 ns, 5.8169 ns/op +WorkloadActual 64: 134217728 op, 787859700.00 ns, 5.8700 ns/op +WorkloadActual 65: 134217728 op, 807878200.00 ns, 6.0192 ns/op +WorkloadActual 66: 134217728 op, 824283000.00 ns, 6.1414 ns/op +WorkloadActual 67: 134217728 op, 822183200.00 ns, 6.1257 ns/op +WorkloadActual 68: 134217728 op, 874969500.00 ns, 6.5190 ns/op +WorkloadActual 69: 134217728 op, 835253700.00 ns, 6.2231 ns/op +WorkloadActual 70: 134217728 op, 782459600.00 ns, 5.8298 ns/op +WorkloadActual 71: 134217728 op, 811506300.00 ns, 6.0462 ns/op +WorkloadActual 72: 134217728 op, 784969100.00 ns, 5.8485 ns/op +WorkloadActual 73: 134217728 op, 783657000.00 ns, 5.8387 ns/op +WorkloadActual 74: 134217728 op, 830395400.00 ns, 6.1869 ns/op +WorkloadActual 75: 134217728 op, 858780500.00 ns, 6.3984 ns/op +WorkloadActual 76: 134217728 op, 825258900.00 ns, 6.1487 ns/op +WorkloadActual 77: 134217728 op, 796741200.00 ns, 5.9362 ns/op +WorkloadActual 78: 134217728 op, 854048900.00 ns, 6.3632 ns/op +WorkloadActual 79: 134217728 op, 819965100.00 ns, 6.1092 ns/op +WorkloadActual 80: 134217728 op, 811394900.00 ns, 6.0454 ns/op +WorkloadActual 81: 134217728 op, 830914600.00 ns, 6.1908 ns/op +WorkloadActual 82: 134217728 op, 777019700.00 ns, 5.7892 ns/op +WorkloadActual 83: 134217728 op, 826992500.00 ns, 6.1616 ns/op +WorkloadActual 84: 134217728 op, 803551500.00 ns, 5.9869 ns/op +WorkloadActual 85: 134217728 op, 811124500.00 ns, 6.0433 ns/op +WorkloadActual 86: 134217728 op, 784036800.00 ns, 5.8415 ns/op +WorkloadActual 87: 134217728 op, 767082300.00 ns, 5.7152 ns/op +WorkloadActual 88: 134217728 op, 855876800.00 ns, 6.3768 ns/op +WorkloadActual 89: 134217728 op, 774739300.00 ns, 5.7723 ns/op +WorkloadActual 90: 134217728 op, 790627100.00 ns, 5.8906 ns/op +WorkloadActual 91: 134217728 op, 893681200.00 ns, 6.6584 ns/op +WorkloadActual 92: 134217728 op, 892909000.00 ns, 6.6527 ns/op +WorkloadActual 93: 134217728 op, 924296000.00 ns, 6.8865 ns/op +WorkloadActual 94: 134217728 op, 957984800.00 ns, 7.1375 ns/op +WorkloadActual 95: 134217728 op, 931501500.00 ns, 6.9402 ns/op +WorkloadActual 96: 134217728 op, 866583900.00 ns, 6.4566 ns/op +WorkloadActual 97: 134217728 op, 859666900.00 ns, 6.4050 ns/op +WorkloadActual 98: 134217728 op, 893740300.00 ns, 6.6589 ns/op +WorkloadActual 99: 134217728 op, 846423400.00 ns, 6.3063 ns/op +WorkloadActual 100: 134217728 op, 838675000.00 ns, 6.2486 ns/op + +// AfterActualRun +WorkloadResult 1: 134217728 op, 878893900.00 ns, 6.5483 ns/op +WorkloadResult 2: 134217728 op, 900018100.00 ns, 6.7057 ns/op +WorkloadResult 3: 134217728 op, 884741700.00 ns, 6.5918 ns/op +WorkloadResult 4: 134217728 op, 926300400.00 ns, 6.9015 ns/op +WorkloadResult 5: 134217728 op, 893197800.00 ns, 6.6548 ns/op +WorkloadResult 6: 134217728 op, 864289100.00 ns, 6.4395 ns/op +WorkloadResult 7: 134217728 op, 742198600.00 ns, 5.5298 ns/op +WorkloadResult 8: 134217728 op, 830989500.00 ns, 6.1914 ns/op +WorkloadResult 9: 134217728 op, 777221500.00 ns, 5.7908 ns/op +WorkloadResult 10: 134217728 op, 674529800.00 ns, 5.0256 ns/op +WorkloadResult 11: 134217728 op, 673559000.00 ns, 5.0184 ns/op +WorkloadResult 12: 134217728 op, 697727300.00 ns, 5.1985 ns/op +WorkloadResult 13: 134217728 op, 670948700.00 ns, 4.9990 ns/op +WorkloadResult 14: 134217728 op, 630106800.00 ns, 4.6947 ns/op +WorkloadResult 15: 134217728 op, 646071000.00 ns, 4.8136 ns/op +WorkloadResult 16: 134217728 op, 766050700.00 ns, 5.7075 ns/op +WorkloadResult 17: 134217728 op, 688067100.00 ns, 5.1265 ns/op +WorkloadResult 18: 134217728 op, 698169700.00 ns, 5.2018 ns/op +WorkloadResult 19: 134217728 op, 756685600.00 ns, 5.6377 ns/op +WorkloadResult 20: 134217728 op, 731321400.00 ns, 5.4488 ns/op +WorkloadResult 21: 134217728 op, 770740100.00 ns, 5.7425 ns/op +WorkloadResult 22: 134217728 op, 716621900.00 ns, 5.3392 ns/op +WorkloadResult 23: 134217728 op, 813149100.00 ns, 6.0584 ns/op +WorkloadResult 24: 134217728 op, 865660200.00 ns, 6.4497 ns/op +WorkloadResult 25: 134217728 op, 812890900.00 ns, 6.0565 ns/op +WorkloadResult 26: 134217728 op, 790204000.00 ns, 5.8875 ns/op +WorkloadResult 27: 134217728 op, 779726600.00 ns, 5.8094 ns/op +WorkloadResult 28: 134217728 op, 782109500.00 ns, 5.8272 ns/op +WorkloadResult 29: 134217728 op, 796080500.00 ns, 5.9313 ns/op +WorkloadResult 30: 134217728 op, 946600200.00 ns, 7.0527 ns/op +WorkloadResult 31: 134217728 op, 834962100.00 ns, 6.2210 ns/op +WorkloadResult 32: 134217728 op, 848579700.00 ns, 6.3224 ns/op +WorkloadResult 33: 134217728 op, 788896900.00 ns, 5.8777 ns/op +WorkloadResult 34: 134217728 op, 844537900.00 ns, 6.2923 ns/op +WorkloadResult 35: 134217728 op, 752822700.00 ns, 5.6090 ns/op +WorkloadResult 36: 134217728 op, 918365200.00 ns, 6.8424 ns/op +WorkloadResult 37: 134217728 op, 799758400.00 ns, 5.9587 ns/op +WorkloadResult 38: 134217728 op, 657515400.00 ns, 4.8989 ns/op +WorkloadResult 39: 134217728 op, 646179500.00 ns, 4.8144 ns/op +WorkloadResult 40: 134217728 op, 636321300.00 ns, 4.7410 ns/op +WorkloadResult 41: 134217728 op, 648577700.00 ns, 4.8323 ns/op +WorkloadResult 42: 134217728 op, 699571000.00 ns, 5.2122 ns/op +WorkloadResult 43: 134217728 op, 658949500.00 ns, 4.9096 ns/op +WorkloadResult 44: 134217728 op, 785988800.00 ns, 5.8561 ns/op +WorkloadResult 45: 134217728 op, 830419700.00 ns, 6.1871 ns/op +WorkloadResult 46: 134217728 op, 778494800.00 ns, 5.8002 ns/op +WorkloadResult 47: 134217728 op, 756664100.00 ns, 5.6376 ns/op +WorkloadResult 48: 134217728 op, 693310200.00 ns, 5.1656 ns/op +WorkloadResult 49: 134217728 op, 643095900.00 ns, 4.7914 ns/op +WorkloadResult 50: 134217728 op, 701645700.00 ns, 5.2277 ns/op +WorkloadResult 51: 134217728 op, 721240100.00 ns, 5.3737 ns/op +WorkloadResult 52: 134217728 op, 686639700.00 ns, 5.1159 ns/op +WorkloadResult 53: 134217728 op, 632708700.00 ns, 4.7140 ns/op +WorkloadResult 54: 134217728 op, 736091500.00 ns, 5.4843 ns/op +WorkloadResult 55: 134217728 op, 745111900.00 ns, 5.5515 ns/op +WorkloadResult 56: 134217728 op, 672071100.00 ns, 5.0073 ns/op +WorkloadResult 57: 134217728 op, 701155100.00 ns, 5.2240 ns/op +WorkloadResult 58: 134217728 op, 688025700.00 ns, 5.1262 ns/op +WorkloadResult 59: 134217728 op, 648848600.00 ns, 4.8343 ns/op +WorkloadResult 60: 134217728 op, 654073700.00 ns, 4.8732 ns/op +WorkloadResult 61: 134217728 op, 663740100.00 ns, 4.9452 ns/op +WorkloadResult 62: 134217728 op, 671244300.00 ns, 5.0012 ns/op +WorkloadResult 63: 134217728 op, 638690400.00 ns, 4.7586 ns/op +WorkloadResult 64: 134217728 op, 645818100.00 ns, 4.8117 ns/op +WorkloadResult 65: 134217728 op, 665836600.00 ns, 4.9609 ns/op +WorkloadResult 66: 134217728 op, 682241400.00 ns, 5.0831 ns/op +WorkloadResult 67: 134217728 op, 680141600.00 ns, 5.0674 ns/op +WorkloadResult 68: 134217728 op, 732927900.00 ns, 5.4607 ns/op +WorkloadResult 69: 134217728 op, 693212100.00 ns, 5.1648 ns/op +WorkloadResult 70: 134217728 op, 640418000.00 ns, 4.7715 ns/op +WorkloadResult 71: 134217728 op, 669464700.00 ns, 4.9879 ns/op +WorkloadResult 72: 134217728 op, 642927500.00 ns, 4.7902 ns/op +WorkloadResult 73: 134217728 op, 641615400.00 ns, 4.7804 ns/op +WorkloadResult 74: 134217728 op, 688353800.00 ns, 5.1286 ns/op +WorkloadResult 75: 134217728 op, 716738900.00 ns, 5.3401 ns/op +WorkloadResult 76: 134217728 op, 683217300.00 ns, 5.0904 ns/op +WorkloadResult 77: 134217728 op, 654699600.00 ns, 4.8779 ns/op +WorkloadResult 78: 134217728 op, 712007300.00 ns, 5.3049 ns/op +WorkloadResult 79: 134217728 op, 677923500.00 ns, 5.0509 ns/op +WorkloadResult 80: 134217728 op, 669353300.00 ns, 4.9871 ns/op +WorkloadResult 81: 134217728 op, 688873000.00 ns, 5.1325 ns/op +WorkloadResult 82: 134217728 op, 634978100.00 ns, 4.7310 ns/op +WorkloadResult 83: 134217728 op, 684950900.00 ns, 5.1033 ns/op +WorkloadResult 84: 134217728 op, 661509900.00 ns, 4.9286 ns/op +WorkloadResult 85: 134217728 op, 669082900.00 ns, 4.9851 ns/op +WorkloadResult 86: 134217728 op, 641995200.00 ns, 4.7832 ns/op +WorkloadResult 87: 134217728 op, 625040700.00 ns, 4.6569 ns/op +WorkloadResult 88: 134217728 op, 713835200.00 ns, 5.3185 ns/op +WorkloadResult 89: 134217728 op, 632697700.00 ns, 4.7140 ns/op +WorkloadResult 90: 134217728 op, 648585500.00 ns, 4.8323 ns/op +WorkloadResult 91: 134217728 op, 751639600.00 ns, 5.6002 ns/op +WorkloadResult 92: 134217728 op, 750867400.00 ns, 5.5944 ns/op +WorkloadResult 93: 134217728 op, 782254400.00 ns, 5.8282 ns/op +WorkloadResult 94: 134217728 op, 815943200.00 ns, 6.0793 ns/op +WorkloadResult 95: 134217728 op, 789459900.00 ns, 5.8819 ns/op +WorkloadResult 96: 134217728 op, 724542300.00 ns, 5.3983 ns/op +WorkloadResult 97: 134217728 op, 717625300.00 ns, 5.3467 ns/op +WorkloadResult 98: 134217728 op, 751698700.00 ns, 5.6006 ns/op +WorkloadResult 99: 134217728 op, 704381800.00 ns, 5.2481 ns/op +WorkloadResult 100: 134217728 op, 696633400.00 ns, 5.1903 ns/op +// GC: 285 0 0 5368709120 134217728 +// Threading: 0 0 134217728 + +// AfterAll +// Benchmark Process 123328 has exited with code 0. + +Mean = 5.422 ns, StdErr = 0.059 ns (1.09%), N = 100, StdDev = 0.589 ns +Min = 4.657 ns, Q1 = 4.979 ns, Median = 5.226 ns, Q3 = 5.814 ns, Max = 7.053 ns +IQR = 0.835 ns, LowerFence = 3.727 ns, UpperFence = 7.066 ns +ConfidenceInterval = [5.222 ns; 5.622 ns] (CI 99.9%), Margin = 0.200 ns (3.69% of Mean) +Skewness = 0.84, Kurtosis = 2.83, MValue = 2.69 + +// ** Remained 16 (50.0%) benchmark(s) to run. Estimated finish 2026-02-23 19:07 (0h 7m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.SmallAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 980 2596 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.SmallAllocUninitBlockCopy --job ".NET 10.0" --benchmarkId 9 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 107700.00 ns, 107.7000 us/op +WorkloadJitting 1: 1 op, 158300.00 ns, 158.3000 us/op + +OverheadJitting 2: 16 op, 117000.00 ns, 7.3125 us/op +WorkloadJitting 2: 16 op, 114900.00 ns, 7.1813 us/op + +WorkloadPilot 1: 16 op, 1200.00 ns, 75.0000 ns/op +WorkloadPilot 2: 32 op, 3300.00 ns, 103.1250 ns/op +WorkloadPilot 3: 64 op, 1200.00 ns, 18.7500 ns/op +WorkloadPilot 4: 128 op, 6200.00 ns, 48.4375 ns/op +WorkloadPilot 5: 256 op, 5900.00 ns, 23.0469 ns/op +WorkloadPilot 6: 512 op, 8400.00 ns, 16.4063 ns/op +WorkloadPilot 7: 1024 op, 22100.00 ns, 21.5820 ns/op +WorkloadPilot 8: 2048 op, 39000.00 ns, 19.0430 ns/op +WorkloadPilot 9: 4096 op, 74000.00 ns, 18.0664 ns/op +WorkloadPilot 10: 8192 op, 139900.00 ns, 17.0776 ns/op +WorkloadPilot 11: 16384 op, 241900.00 ns, 14.7644 ns/op +WorkloadPilot 12: 32768 op, 488700.00 ns, 14.9139 ns/op +WorkloadPilot 13: 65536 op, 982700.00 ns, 14.9948 ns/op +WorkloadPilot 14: 131072 op, 2152900.00 ns, 16.4253 ns/op +WorkloadPilot 15: 262144 op, 4452900.00 ns, 16.9865 ns/op +WorkloadPilot 16: 524288 op, 7551600.00 ns, 14.4035 ns/op +WorkloadPilot 17: 1048576 op, 10219200.00 ns, 9.7458 ns/op +WorkloadPilot 18: 2097152 op, 21650300.00 ns, 10.3237 ns/op +WorkloadPilot 19: 4194304 op, 41847200.00 ns, 9.9771 ns/op +WorkloadPilot 20: 8388608 op, 75294400.00 ns, 8.9758 ns/op +WorkloadPilot 21: 16777216 op, 119396900.00 ns, 7.1166 ns/op +WorkloadPilot 22: 33554432 op, 239714400.00 ns, 7.1440 ns/op +WorkloadPilot 23: 67108864 op, 445734900.00 ns, 6.6420 ns/op +WorkloadPilot 24: 134217728 op, 889299600.00 ns, 6.6258 ns/op + +OverheadWarmup 1: 134217728 op, 208647400.00 ns, 1.5545 ns/op +OverheadWarmup 2: 134217728 op, 145543100.00 ns, 1.0844 ns/op +OverheadWarmup 3: 134217728 op, 144375900.00 ns, 1.0757 ns/op +OverheadWarmup 4: 134217728 op, 142672400.00 ns, 1.0630 ns/op +OverheadWarmup 5: 134217728 op, 143639200.00 ns, 1.0702 ns/op +OverheadWarmup 6: 134217728 op, 144015300.00 ns, 1.0730 ns/op +OverheadWarmup 7: 134217728 op, 143227200.00 ns, 1.0671 ns/op +OverheadWarmup 8: 134217728 op, 147238000.00 ns, 1.0970 ns/op +OverheadWarmup 9: 134217728 op, 144979900.00 ns, 1.0802 ns/op + +OverheadActual 1: 134217728 op, 146499600.00 ns, 1.0915 ns/op +OverheadActual 2: 134217728 op, 150545400.00 ns, 1.1217 ns/op +OverheadActual 3: 134217728 op, 142357900.00 ns, 1.0606 ns/op +OverheadActual 4: 134217728 op, 144692100.00 ns, 1.0780 ns/op +OverheadActual 5: 134217728 op, 144863800.00 ns, 1.0793 ns/op +OverheadActual 6: 134217728 op, 148362400.00 ns, 1.1054 ns/op +OverheadActual 7: 134217728 op, 151233600.00 ns, 1.1268 ns/op +OverheadActual 8: 134217728 op, 147261600.00 ns, 1.0972 ns/op +OverheadActual 9: 134217728 op, 147614000.00 ns, 1.0998 ns/op +OverheadActual 10: 134217728 op, 143338400.00 ns, 1.0680 ns/op +OverheadActual 11: 134217728 op, 148402100.00 ns, 1.1057 ns/op +OverheadActual 12: 134217728 op, 146386600.00 ns, 1.0907 ns/op +OverheadActual 13: 134217728 op, 147659300.00 ns, 1.1001 ns/op +OverheadActual 14: 134217728 op, 151984700.00 ns, 1.1324 ns/op +OverheadActual 15: 134217728 op, 146140000.00 ns, 1.0888 ns/op + +WorkloadWarmup 1: 134217728 op, 985775000.00 ns, 7.3446 ns/op +WorkloadWarmup 2: 134217728 op, 938081800.00 ns, 6.9893 ns/op +WorkloadWarmup 3: 134217728 op, 949885500.00 ns, 7.0772 ns/op +WorkloadWarmup 4: 134217728 op, 914573600.00 ns, 6.8141 ns/op +WorkloadWarmup 5: 134217728 op, 910930800.00 ns, 6.7870 ns/op +WorkloadWarmup 6: 134217728 op, 997081500.00 ns, 7.4288 ns/op +WorkloadWarmup 7: 134217728 op, 856663700.00 ns, 6.3826 ns/op + +// BeforeActualRun +WorkloadActual 1: 134217728 op, 846811400.00 ns, 6.3092 ns/op +WorkloadActual 2: 134217728 op, 897700200.00 ns, 6.6884 ns/op +WorkloadActual 3: 134217728 op, 895286100.00 ns, 6.6704 ns/op +WorkloadActual 4: 134217728 op, 857759400.00 ns, 6.3908 ns/op +WorkloadActual 5: 134217728 op, 794936000.00 ns, 5.9227 ns/op +WorkloadActual 6: 134217728 op, 811219900.00 ns, 6.0441 ns/op +WorkloadActual 7: 134217728 op, 817929600.00 ns, 6.0941 ns/op +WorkloadActual 8: 134217728 op, 909333500.00 ns, 6.7751 ns/op +WorkloadActual 9: 134217728 op, 879650400.00 ns, 6.5539 ns/op +WorkloadActual 10: 134217728 op, 883996700.00 ns, 6.5863 ns/op +WorkloadActual 11: 134217728 op, 873341900.00 ns, 6.5069 ns/op +WorkloadActual 12: 134217728 op, 841100400.00 ns, 6.2667 ns/op +WorkloadActual 13: 134217728 op, 851006100.00 ns, 6.3405 ns/op +WorkloadActual 14: 134217728 op, 846132600.00 ns, 6.3042 ns/op +WorkloadActual 15: 134217728 op, 792898500.00 ns, 5.9076 ns/op +WorkloadActual 16: 134217728 op, 809853000.00 ns, 6.0339 ns/op +WorkloadActual 17: 134217728 op, 833708400.00 ns, 6.2116 ns/op +WorkloadActual 18: 134217728 op, 785297300.00 ns, 5.8509 ns/op +WorkloadActual 19: 134217728 op, 787086600.00 ns, 5.8643 ns/op +WorkloadActual 20: 134217728 op, 783434500.00 ns, 5.8370 ns/op +WorkloadActual 21: 134217728 op, 800045400.00 ns, 5.9608 ns/op +WorkloadActual 22: 134217728 op, 818571200.00 ns, 6.0988 ns/op +WorkloadActual 23: 134217728 op, 798452400.00 ns, 5.9489 ns/op +WorkloadActual 24: 134217728 op, 827262600.00 ns, 6.1636 ns/op +WorkloadActual 25: 134217728 op, 810817400.00 ns, 6.0411 ns/op +WorkloadActual 26: 134217728 op, 812228700.00 ns, 6.0516 ns/op +WorkloadActual 27: 134217728 op, 821744300.00 ns, 6.1225 ns/op +WorkloadActual 28: 134217728 op, 799084700.00 ns, 5.9536 ns/op +WorkloadActual 29: 134217728 op, 792415100.00 ns, 5.9040 ns/op +WorkloadActual 30: 134217728 op, 863055000.00 ns, 6.4303 ns/op +WorkloadActual 31: 134217728 op, 840250000.00 ns, 6.2604 ns/op +WorkloadActual 32: 134217728 op, 799474400.00 ns, 5.9565 ns/op +WorkloadActual 33: 134217728 op, 797531700.00 ns, 5.9421 ns/op +WorkloadActual 34: 134217728 op, 783669400.00 ns, 5.8388 ns/op +WorkloadActual 35: 134217728 op, 793757000.00 ns, 5.9140 ns/op +WorkloadActual 36: 134217728 op, 831600900.00 ns, 6.1959 ns/op +WorkloadActual 37: 134217728 op, 864478900.00 ns, 6.4409 ns/op +WorkloadActual 38: 134217728 op, 790188400.00 ns, 5.8874 ns/op +WorkloadActual 39: 134217728 op, 780022200.00 ns, 5.8116 ns/op +WorkloadActual 40: 134217728 op, 801265300.00 ns, 5.9699 ns/op +WorkloadActual 41: 134217728 op, 780617500.00 ns, 5.8161 ns/op +WorkloadActual 42: 134217728 op, 798038200.00 ns, 5.9458 ns/op +WorkloadActual 43: 134217728 op, 822056500.00 ns, 6.1248 ns/op +WorkloadActual 44: 134217728 op, 838478200.00 ns, 6.2471 ns/op +WorkloadActual 45: 134217728 op, 791771700.00 ns, 5.8992 ns/op +WorkloadActual 46: 134217728 op, 793893000.00 ns, 5.9150 ns/op +WorkloadActual 47: 134217728 op, 785916000.00 ns, 5.8555 ns/op +WorkloadActual 48: 134217728 op, 792344700.00 ns, 5.9034 ns/op +WorkloadActual 49: 134217728 op, 785912400.00 ns, 5.8555 ns/op +WorkloadActual 50: 134217728 op, 828851700.00 ns, 6.1754 ns/op +WorkloadActual 51: 134217728 op, 824417200.00 ns, 6.1424 ns/op +WorkloadActual 52: 134217728 op, 807395100.00 ns, 6.0156 ns/op +WorkloadActual 53: 134217728 op, 814991000.00 ns, 6.0722 ns/op + +// AfterActualRun +WorkloadResult 1: 134217728 op, 699549800.00 ns, 5.2121 ns/op +WorkloadResult 2: 134217728 op, 750438600.00 ns, 5.5912 ns/op +WorkloadResult 3: 134217728 op, 748024500.00 ns, 5.5732 ns/op +WorkloadResult 4: 134217728 op, 710497800.00 ns, 5.2936 ns/op +WorkloadResult 5: 134217728 op, 647674400.00 ns, 4.8256 ns/op +WorkloadResult 6: 134217728 op, 663958300.00 ns, 4.9469 ns/op +WorkloadResult 7: 134217728 op, 670668000.00 ns, 4.9969 ns/op +WorkloadResult 8: 134217728 op, 762071900.00 ns, 5.6779 ns/op +WorkloadResult 9: 134217728 op, 732388800.00 ns, 5.4567 ns/op +WorkloadResult 10: 134217728 op, 736735100.00 ns, 5.4891 ns/op +WorkloadResult 11: 134217728 op, 726080300.00 ns, 5.4097 ns/op +WorkloadResult 12: 134217728 op, 693838800.00 ns, 5.1695 ns/op +WorkloadResult 13: 134217728 op, 703744500.00 ns, 5.2433 ns/op +WorkloadResult 14: 134217728 op, 698871000.00 ns, 5.2070 ns/op +WorkloadResult 15: 134217728 op, 645636900.00 ns, 4.8104 ns/op +WorkloadResult 16: 134217728 op, 662591400.00 ns, 4.9367 ns/op +WorkloadResult 17: 134217728 op, 686446800.00 ns, 5.1144 ns/op +WorkloadResult 18: 134217728 op, 638035700.00 ns, 4.7537 ns/op +WorkloadResult 19: 134217728 op, 639825000.00 ns, 4.7671 ns/op +WorkloadResult 20: 134217728 op, 636172900.00 ns, 4.7399 ns/op +WorkloadResult 21: 134217728 op, 652783800.00 ns, 4.8636 ns/op +WorkloadResult 22: 134217728 op, 671309600.00 ns, 5.0016 ns/op +WorkloadResult 23: 134217728 op, 651190800.00 ns, 4.8517 ns/op +WorkloadResult 24: 134217728 op, 680001000.00 ns, 5.0664 ns/op +WorkloadResult 25: 134217728 op, 663555800.00 ns, 4.9439 ns/op +WorkloadResult 26: 134217728 op, 664967100.00 ns, 4.9544 ns/op +WorkloadResult 27: 134217728 op, 674482700.00 ns, 5.0253 ns/op +WorkloadResult 28: 134217728 op, 651823100.00 ns, 4.8565 ns/op +WorkloadResult 29: 134217728 op, 645153500.00 ns, 4.8068 ns/op +WorkloadResult 30: 134217728 op, 715793400.00 ns, 5.3331 ns/op +WorkloadResult 31: 134217728 op, 692988400.00 ns, 5.1632 ns/op +WorkloadResult 32: 134217728 op, 652212800.00 ns, 4.8594 ns/op +WorkloadResult 33: 134217728 op, 650270100.00 ns, 4.8449 ns/op +WorkloadResult 34: 134217728 op, 636407800.00 ns, 4.7416 ns/op +WorkloadResult 35: 134217728 op, 646495400.00 ns, 4.8168 ns/op +WorkloadResult 36: 134217728 op, 684339300.00 ns, 5.0987 ns/op +WorkloadResult 37: 134217728 op, 717217300.00 ns, 5.3437 ns/op +WorkloadResult 38: 134217728 op, 642926800.00 ns, 4.7902 ns/op +WorkloadResult 39: 134217728 op, 632760600.00 ns, 4.7144 ns/op +WorkloadResult 40: 134217728 op, 654003700.00 ns, 4.8727 ns/op +WorkloadResult 41: 134217728 op, 633355900.00 ns, 4.7189 ns/op +WorkloadResult 42: 134217728 op, 650776600.00 ns, 4.8487 ns/op +WorkloadResult 43: 134217728 op, 674794900.00 ns, 5.0276 ns/op +WorkloadResult 44: 134217728 op, 691216600.00 ns, 5.1500 ns/op +WorkloadResult 45: 134217728 op, 644510100.00 ns, 4.8020 ns/op +WorkloadResult 46: 134217728 op, 646631400.00 ns, 4.8178 ns/op +WorkloadResult 47: 134217728 op, 638654400.00 ns, 4.7583 ns/op +WorkloadResult 48: 134217728 op, 645083100.00 ns, 4.8062 ns/op +WorkloadResult 49: 134217728 op, 638650800.00 ns, 4.7583 ns/op +WorkloadResult 50: 134217728 op, 681590100.00 ns, 5.0782 ns/op +WorkloadResult 51: 134217728 op, 677155600.00 ns, 5.0452 ns/op +WorkloadResult 52: 134217728 op, 660133500.00 ns, 4.9184 ns/op +WorkloadResult 53: 134217728 op, 667729400.00 ns, 4.9750 ns/op +// GC: 285 0 0 5368709120 134217728 +// Threading: 0 0 134217728 + +// AfterAll +// Benchmark Process 106464 has exited with code 0. + +Mean = 5.016 ns, StdErr = 0.035 ns (0.69%), N = 53, StdDev = 0.252 ns +Min = 4.714 ns, Q1 = 4.817 ns, Median = 4.947 ns, Q3 = 5.163 ns, Max = 5.678 ns +IQR = 0.346 ns, LowerFence = 4.297 ns, UpperFence = 5.683 ns +ConfidenceInterval = [4.896 ns; 5.137 ns] (CI 99.9%), Margin = 0.121 ns (2.40% of Mean) +Skewness = 0.9, Kurtosis = 2.85, MValue = 2 + +// ** Remained 15 (46.9%) benchmark(s) to run. Estimated finish 2026-02-23 19:08 (0h 7m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.MediumArrayClone: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2524 2532 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.MediumArrayClone --job ".NET 10.0" --benchmarkId 10 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 77100.00 ns, 77.1000 us/op +WorkloadJitting 1: 1 op, 120000.00 ns, 120.0000 us/op + +OverheadJitting 2: 16 op, 107500.00 ns, 6.7188 us/op +WorkloadJitting 2: 16 op, 101000.00 ns, 6.3125 us/op + +WorkloadPilot 1: 16 op, 2000.00 ns, 125.0000 ns/op +WorkloadPilot 2: 32 op, 3100.00 ns, 96.8750 ns/op +WorkloadPilot 3: 64 op, 10000.00 ns, 156.2500 ns/op +WorkloadPilot 4: 128 op, 14200.00 ns, 110.9375 ns/op +WorkloadPilot 5: 256 op, 32500.00 ns, 126.9531 ns/op +WorkloadPilot 6: 512 op, 39700.00 ns, 77.5391 ns/op +WorkloadPilot 7: 1024 op, 75200.00 ns, 73.4375 ns/op +WorkloadPilot 8: 2048 op, 131100.00 ns, 64.0137 ns/op +WorkloadPilot 9: 4096 op, 250200.00 ns, 61.0840 ns/op +WorkloadPilot 10: 8192 op, 506000.00 ns, 61.7676 ns/op +WorkloadPilot 11: 16384 op, 1054000.00 ns, 64.3311 ns/op +WorkloadPilot 12: 32768 op, 1990300.00 ns, 60.7391 ns/op +WorkloadPilot 13: 65536 op, 4288800.00 ns, 65.4419 ns/op +WorkloadPilot 14: 131072 op, 7309200.00 ns, 55.7648 ns/op +WorkloadPilot 15: 262144 op, 9844600.00 ns, 37.5542 ns/op +WorkloadPilot 16: 524288 op, 19750400.00 ns, 37.6709 ns/op +WorkloadPilot 17: 1048576 op, 40885400.00 ns, 38.9914 ns/op +WorkloadPilot 18: 2097152 op, 78096800.00 ns, 37.2395 ns/op +WorkloadPilot 19: 4194304 op, 148888100.00 ns, 35.4977 ns/op +WorkloadPilot 20: 8388608 op, 292818300.00 ns, 34.9067 ns/op +WorkloadPilot 21: 16777216 op, 582348700.00 ns, 34.7107 ns/op + +OverheadWarmup 1: 16777216 op, 22249600.00 ns, 1.3262 ns/op +OverheadWarmup 2: 16777216 op, 22503900.00 ns, 1.3413 ns/op +OverheadWarmup 3: 16777216 op, 22319000.00 ns, 1.3303 ns/op +OverheadWarmup 4: 16777216 op, 22258100.00 ns, 1.3267 ns/op +OverheadWarmup 5: 16777216 op, 22484400.00 ns, 1.3402 ns/op +OverheadWarmup 6: 16777216 op, 22245200.00 ns, 1.3259 ns/op + +OverheadActual 1: 16777216 op, 22278700.00 ns, 1.3279 ns/op +OverheadActual 2: 16777216 op, 22259600.00 ns, 1.3268 ns/op +OverheadActual 3: 16777216 op, 22231400.00 ns, 1.3251 ns/op +OverheadActual 4: 16777216 op, 22334300.00 ns, 1.3312 ns/op +OverheadActual 5: 16777216 op, 22295200.00 ns, 1.3289 ns/op +OverheadActual 6: 16777216 op, 22292000.00 ns, 1.3287 ns/op +OverheadActual 7: 16777216 op, 22217000.00 ns, 1.3242 ns/op +OverheadActual 8: 16777216 op, 22285100.00 ns, 1.3283 ns/op +OverheadActual 9: 16777216 op, 22294600.00 ns, 1.3289 ns/op +OverheadActual 10: 16777216 op, 22254400.00 ns, 1.3265 ns/op +OverheadActual 11: 16777216 op, 22394500.00 ns, 1.3348 ns/op +OverheadActual 12: 16777216 op, 22476000.00 ns, 1.3397 ns/op +OverheadActual 13: 16777216 op, 21798100.00 ns, 1.2993 ns/op +OverheadActual 14: 16777216 op, 17686200.00 ns, 1.0542 ns/op +OverheadActual 15: 16777216 op, 17806300.00 ns, 1.0613 ns/op +OverheadActual 16: 16777216 op, 17815100.00 ns, 1.0619 ns/op +OverheadActual 17: 16777216 op, 17617700.00 ns, 1.0501 ns/op +OverheadActual 18: 16777216 op, 17699800.00 ns, 1.0550 ns/op +OverheadActual 19: 16777216 op, 17636700.00 ns, 1.0512 ns/op +OverheadActual 20: 16777216 op, 17614200.00 ns, 1.0499 ns/op + +WorkloadWarmup 1: 16777216 op, 591782400.00 ns, 35.2730 ns/op +WorkloadWarmup 2: 16777216 op, 586995900.00 ns, 34.9877 ns/op +WorkloadWarmup 3: 16777216 op, 581633800.00 ns, 34.6681 ns/op +WorkloadWarmup 4: 16777216 op, 583018300.00 ns, 34.7506 ns/op +WorkloadWarmup 5: 16777216 op, 584632500.00 ns, 34.8468 ns/op +WorkloadWarmup 6: 16777216 op, 584870400.00 ns, 34.8610 ns/op +WorkloadWarmup 7: 16777216 op, 588723300.00 ns, 35.0906 ns/op +WorkloadWarmup 8: 16777216 op, 590032000.00 ns, 35.1686 ns/op +WorkloadWarmup 9: 16777216 op, 587773000.00 ns, 35.0340 ns/op +WorkloadWarmup 10: 16777216 op, 592362000.00 ns, 35.3075 ns/op +WorkloadWarmup 11: 16777216 op, 583181500.00 ns, 34.7603 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 588519200.00 ns, 35.0785 ns/op +WorkloadActual 2: 16777216 op, 586459000.00 ns, 34.9557 ns/op +WorkloadActual 3: 16777216 op, 583920800.00 ns, 34.8044 ns/op +WorkloadActual 4: 16777216 op, 583268300.00 ns, 34.7655 ns/op +WorkloadActual 5: 16777216 op, 586410600.00 ns, 34.9528 ns/op +WorkloadActual 6: 16777216 op, 581841100.00 ns, 34.6804 ns/op +WorkloadActual 7: 16777216 op, 582110400.00 ns, 34.6965 ns/op +WorkloadActual 8: 16777216 op, 583498100.00 ns, 34.7792 ns/op +WorkloadActual 9: 16777216 op, 583790900.00 ns, 34.7966 ns/op +WorkloadActual 10: 16777216 op, 589474400.00 ns, 35.1354 ns/op +WorkloadActual 11: 16777216 op, 585111900.00 ns, 34.8754 ns/op +WorkloadActual 12: 16777216 op, 612213800.00 ns, 36.4908 ns/op +WorkloadActual 13: 16777216 op, 583361600.00 ns, 34.7711 ns/op +WorkloadActual 14: 16777216 op, 587731100.00 ns, 35.0315 ns/op +WorkloadActual 15: 16777216 op, 583084800.00 ns, 34.7546 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 566276300.00 ns, 33.7527 ns/op +WorkloadResult 2: 16777216 op, 564216100.00 ns, 33.6299 ns/op +WorkloadResult 3: 16777216 op, 561677900.00 ns, 33.4786 ns/op +WorkloadResult 4: 16777216 op, 561025400.00 ns, 33.4397 ns/op +WorkloadResult 5: 16777216 op, 564167700.00 ns, 33.6270 ns/op +WorkloadResult 6: 16777216 op, 559598200.00 ns, 33.3547 ns/op +WorkloadResult 7: 16777216 op, 559867500.00 ns, 33.3707 ns/op +WorkloadResult 8: 16777216 op, 561255200.00 ns, 33.4534 ns/op +WorkloadResult 9: 16777216 op, 561548000.00 ns, 33.4709 ns/op +WorkloadResult 10: 16777216 op, 567231500.00 ns, 33.8096 ns/op +WorkloadResult 11: 16777216 op, 562869000.00 ns, 33.5496 ns/op +WorkloadResult 12: 16777216 op, 561118700.00 ns, 33.4453 ns/op +WorkloadResult 13: 16777216 op, 565488200.00 ns, 33.7057 ns/op +WorkloadResult 14: 16777216 op, 560841900.00 ns, 33.4288 ns/op +// GC: 135 0 0 2550136864 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 122064 has exited with code 0. + +Mean = 33.537 ns, StdErr = 0.039 ns (0.12%), N = 14, StdDev = 0.145 ns +Min = 33.355 ns, Q1 = 33.441 ns, Median = 33.475 ns, Q3 = 33.629 ns, Max = 33.810 ns +IQR = 0.188 ns, LowerFence = 33.159 ns, UpperFence = 33.911 ns +ConfidenceInterval = [33.374 ns; 33.700 ns] (CI 99.9%), Margin = 0.163 ns (0.49% of Mean) +Skewness = 0.52, Kurtosis = 1.78, MValue = 2 + +// ** Remained 14 (43.8%) benchmark(s) to run. Estimated finish 2026-02-23 19:07 (0h 7m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.MediumNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2768 2828 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.MediumNewArrayBlockCopy --job ".NET 10.0" --benchmarkId 11 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 80000.00 ns, 80.0000 us/op +WorkloadJitting 1: 1 op, 128400.00 ns, 128.4000 us/op + +OverheadJitting 2: 16 op, 105600.00 ns, 6.6000 us/op +WorkloadJitting 2: 16 op, 101200.00 ns, 6.3250 us/op + +WorkloadPilot 1: 16 op, 1300.00 ns, 81.2500 ns/op +WorkloadPilot 2: 32 op, 1100.00 ns, 34.3750 ns/op +WorkloadPilot 3: 64 op, 6300.00 ns, 98.4375 ns/op +WorkloadPilot 4: 128 op, 10300.00 ns, 80.4688 ns/op +WorkloadPilot 5: 256 op, 22500.00 ns, 87.8906 ns/op +WorkloadPilot 6: 512 op, 26500.00 ns, 51.7578 ns/op +WorkloadPilot 7: 1024 op, 57900.00 ns, 56.5430 ns/op +WorkloadPilot 8: 2048 op, 76000.00 ns, 37.1094 ns/op +WorkloadPilot 9: 4096 op, 210500.00 ns, 51.3916 ns/op +WorkloadPilot 10: 8192 op, 301500.00 ns, 36.8042 ns/op +WorkloadPilot 11: 16384 op, 590800.00 ns, 36.0596 ns/op +WorkloadPilot 12: 32768 op, 1218700.00 ns, 37.1918 ns/op +WorkloadPilot 13: 65536 op, 2649600.00 ns, 40.4297 ns/op +WorkloadPilot 14: 131072 op, 5191800.00 ns, 39.6103 ns/op +WorkloadPilot 15: 262144 op, 4040500.00 ns, 15.4133 ns/op +WorkloadPilot 16: 524288 op, 7366400.00 ns, 14.0503 ns/op +WorkloadPilot 17: 1048576 op, 13892700.00 ns, 13.2491 ns/op +WorkloadPilot 18: 2097152 op, 25017600.00 ns, 11.9293 ns/op +WorkloadPilot 19: 4194304 op, 52953700.00 ns, 12.6251 ns/op +WorkloadPilot 20: 8388608 op, 90852700.00 ns, 10.8305 ns/op +WorkloadPilot 21: 16777216 op, 163057800.00 ns, 9.7190 ns/op +WorkloadPilot 22: 33554432 op, 359552900.00 ns, 10.7155 ns/op +WorkloadPilot 23: 67108864 op, 628037500.00 ns, 9.3585 ns/op + +OverheadWarmup 1: 67108864 op, 89967400.00 ns, 1.3406 ns/op +OverheadWarmup 2: 67108864 op, 90411300.00 ns, 1.3472 ns/op +OverheadWarmup 3: 67108864 op, 77532300.00 ns, 1.1553 ns/op +OverheadWarmup 4: 67108864 op, 70921200.00 ns, 1.0568 ns/op +OverheadWarmup 5: 67108864 op, 70513600.00 ns, 1.0507 ns/op +OverheadWarmup 6: 67108864 op, 70548400.00 ns, 1.0513 ns/op +OverheadWarmup 7: 67108864 op, 71046300.00 ns, 1.0587 ns/op +OverheadWarmup 8: 67108864 op, 70985300.00 ns, 1.0578 ns/op + +OverheadActual 1: 67108864 op, 70493800.00 ns, 1.0504 ns/op +OverheadActual 2: 67108864 op, 71000400.00 ns, 1.0580 ns/op +OverheadActual 3: 67108864 op, 70437200.00 ns, 1.0496 ns/op +OverheadActual 4: 67108864 op, 70521200.00 ns, 1.0508 ns/op +OverheadActual 5: 67108864 op, 70424000.00 ns, 1.0494 ns/op +OverheadActual 6: 67108864 op, 70426400.00 ns, 1.0494 ns/op +OverheadActual 7: 67108864 op, 71173100.00 ns, 1.0606 ns/op +OverheadActual 8: 67108864 op, 71065300.00 ns, 1.0590 ns/op +OverheadActual 9: 67108864 op, 70670000.00 ns, 1.0531 ns/op +OverheadActual 10: 67108864 op, 70474200.00 ns, 1.0501 ns/op +OverheadActual 11: 67108864 op, 71074600.00 ns, 1.0591 ns/op +OverheadActual 12: 67108864 op, 70947400.00 ns, 1.0572 ns/op +OverheadActual 13: 67108864 op, 70443800.00 ns, 1.0497 ns/op +OverheadActual 14: 67108864 op, 70517100.00 ns, 1.0508 ns/op +OverheadActual 15: 67108864 op, 70516100.00 ns, 1.0508 ns/op + +WorkloadWarmup 1: 67108864 op, 748139300.00 ns, 11.1481 ns/op +WorkloadWarmup 2: 67108864 op, 626604600.00 ns, 9.3371 ns/op +WorkloadWarmup 3: 67108864 op, 652353700.00 ns, 9.7208 ns/op +WorkloadWarmup 4: 67108864 op, 699755400.00 ns, 10.4272 ns/op +WorkloadWarmup 5: 67108864 op, 647063900.00 ns, 9.6420 ns/op +WorkloadWarmup 6: 67108864 op, 661284600.00 ns, 9.8539 ns/op +WorkloadWarmup 7: 67108864 op, 650192900.00 ns, 9.6886 ns/op + +// BeforeActualRun +WorkloadActual 1: 67108864 op, 608694300.00 ns, 9.0703 ns/op +WorkloadActual 2: 67108864 op, 635875600.00 ns, 9.4753 ns/op +WorkloadActual 3: 67108864 op, 633941000.00 ns, 9.4465 ns/op +WorkloadActual 4: 67108864 op, 642943300.00 ns, 9.5806 ns/op +WorkloadActual 5: 67108864 op, 661432600.00 ns, 9.8561 ns/op +WorkloadActual 6: 67108864 op, 670984900.00 ns, 9.9985 ns/op +WorkloadActual 7: 67108864 op, 650699800.00 ns, 9.6962 ns/op +WorkloadActual 8: 67108864 op, 653057800.00 ns, 9.7313 ns/op +WorkloadActual 9: 67108864 op, 646113700.00 ns, 9.6278 ns/op +WorkloadActual 10: 67108864 op, 660558800.00 ns, 9.8431 ns/op +WorkloadActual 11: 67108864 op, 628647000.00 ns, 9.3676 ns/op +WorkloadActual 12: 67108864 op, 647662700.00 ns, 9.6509 ns/op +WorkloadActual 13: 67108864 op, 670654000.00 ns, 9.9935 ns/op +WorkloadActual 14: 67108864 op, 699407600.00 ns, 10.4220 ns/op +WorkloadActual 15: 67108864 op, 643398200.00 ns, 9.5874 ns/op +WorkloadActual 16: 67108864 op, 641954300.00 ns, 9.5659 ns/op +WorkloadActual 17: 67108864 op, 643667000.00 ns, 9.5914 ns/op +WorkloadActual 18: 67108864 op, 625133000.00 ns, 9.3152 ns/op +WorkloadActual 19: 67108864 op, 651346700.00 ns, 9.7058 ns/op +WorkloadActual 20: 67108864 op, 660761800.00 ns, 9.8461 ns/op +WorkloadActual 21: 67108864 op, 632699400.00 ns, 9.4280 ns/op +WorkloadActual 22: 67108864 op, 686319700.00 ns, 10.2270 ns/op +WorkloadActual 23: 67108864 op, 678450200.00 ns, 10.1097 ns/op +WorkloadActual 24: 67108864 op, 631683100.00 ns, 9.4128 ns/op +WorkloadActual 25: 67108864 op, 649548000.00 ns, 9.6790 ns/op +WorkloadActual 26: 67108864 op, 664120100.00 ns, 9.8962 ns/op +WorkloadActual 27: 67108864 op, 613819100.00 ns, 9.1466 ns/op +WorkloadActual 28: 67108864 op, 635106400.00 ns, 9.4638 ns/op +WorkloadActual 29: 67108864 op, 643443500.00 ns, 9.5881 ns/op +WorkloadActual 30: 67108864 op, 641055300.00 ns, 9.5525 ns/op + +// AfterActualRun +WorkloadResult 1: 67108864 op, 538177200.00 ns, 8.0195 ns/op +WorkloadResult 2: 67108864 op, 565358500.00 ns, 8.4245 ns/op +WorkloadResult 3: 67108864 op, 563423900.00 ns, 8.3957 ns/op +WorkloadResult 4: 67108864 op, 572426200.00 ns, 8.5298 ns/op +WorkloadResult 5: 67108864 op, 590915500.00 ns, 8.8053 ns/op +WorkloadResult 6: 67108864 op, 600467800.00 ns, 8.9477 ns/op +WorkloadResult 7: 67108864 op, 580182700.00 ns, 8.6454 ns/op +WorkloadResult 8: 67108864 op, 582540700.00 ns, 8.6805 ns/op +WorkloadResult 9: 67108864 op, 575596600.00 ns, 8.5771 ns/op +WorkloadResult 10: 67108864 op, 590041700.00 ns, 8.7923 ns/op +WorkloadResult 11: 67108864 op, 558129900.00 ns, 8.3168 ns/op +WorkloadResult 12: 67108864 op, 577145600.00 ns, 8.6001 ns/op +WorkloadResult 13: 67108864 op, 600136900.00 ns, 8.9427 ns/op +WorkloadResult 14: 67108864 op, 572881100.00 ns, 8.5366 ns/op +WorkloadResult 15: 67108864 op, 571437200.00 ns, 8.5151 ns/op +WorkloadResult 16: 67108864 op, 573149900.00 ns, 8.5406 ns/op +WorkloadResult 17: 67108864 op, 554615900.00 ns, 8.2644 ns/op +WorkloadResult 18: 67108864 op, 580829600.00 ns, 8.6550 ns/op +WorkloadResult 19: 67108864 op, 590244700.00 ns, 8.7953 ns/op +WorkloadResult 20: 67108864 op, 562182300.00 ns, 8.3772 ns/op +WorkloadResult 21: 67108864 op, 615802600.00 ns, 9.1762 ns/op +WorkloadResult 22: 67108864 op, 607933100.00 ns, 9.0589 ns/op +WorkloadResult 23: 67108864 op, 561166000.00 ns, 8.3620 ns/op +WorkloadResult 24: 67108864 op, 579030900.00 ns, 8.6282 ns/op +WorkloadResult 25: 67108864 op, 593603000.00 ns, 8.8454 ns/op +WorkloadResult 26: 67108864 op, 543302000.00 ns, 8.0958 ns/op +WorkloadResult 27: 67108864 op, 564589300.00 ns, 8.4130 ns/op +WorkloadResult 28: 67108864 op, 572926400.00 ns, 8.5373 ns/op +WorkloadResult 29: 67108864 op, 570538200.00 ns, 8.5017 ns/op +// GC: 542 0 0 10200547328 67108864 +// Threading: 0 0 67108864 + +// AfterAll +// Benchmark Process 103132 has exited with code 0. + +Mean = 8.586 ns, StdErr = 0.050 ns (0.58%), N = 29, StdDev = 0.267 ns +Min = 8.019 ns, Q1 = 8.413 ns, Median = 8.541 ns, Q3 = 8.792 ns, Max = 9.176 ns +IQR = 0.379 ns, LowerFence = 7.844 ns, UpperFence = 9.361 ns +ConfidenceInterval = [8.403 ns; 8.768 ns] (CI 99.9%), Margin = 0.182 ns (2.12% of Mean) +Skewness = 0.12, Kurtosis = 2.71, MValue = 2 + +// ** Remained 13 (40.6%) benchmark(s) to run. Estimated finish 2026-02-23 19:07 (0h 6m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.MediumAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2840 2836 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.MediumAllocUninitBlockCopy --job ".NET 10.0" --benchmarkId 12 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 78900.00 ns, 78.9000 us/op +WorkloadJitting 1: 1 op, 134700.00 ns, 134.7000 us/op + +OverheadJitting 2: 16 op, 107300.00 ns, 6.7063 us/op +WorkloadJitting 2: 16 op, 116100.00 ns, 7.2563 us/op + +WorkloadPilot 1: 16 op, 1400.00 ns, 87.5000 ns/op +WorkloadPilot 2: 32 op, 1300.00 ns, 40.6250 ns/op +WorkloadPilot 3: 64 op, 7600.00 ns, 118.7500 ns/op +WorkloadPilot 4: 128 op, 13700.00 ns, 107.0313 ns/op +WorkloadPilot 5: 256 op, 20900.00 ns, 81.6406 ns/op +WorkloadPilot 6: 512 op, 23600.00 ns, 46.0938 ns/op +WorkloadPilot 7: 1024 op, 50000.00 ns, 48.8281 ns/op +WorkloadPilot 8: 2048 op, 92400.00 ns, 45.1172 ns/op +WorkloadPilot 9: 4096 op, 154200.00 ns, 37.6465 ns/op +WorkloadPilot 10: 8192 op, 303000.00 ns, 36.9873 ns/op +WorkloadPilot 11: 16384 op, 767300.00 ns, 46.8323 ns/op +WorkloadPilot 12: 32768 op, 1238200.00 ns, 37.7869 ns/op +WorkloadPilot 13: 65536 op, 2582500.00 ns, 39.4058 ns/op +WorkloadPilot 14: 131072 op, 4494400.00 ns, 34.2896 ns/op +WorkloadPilot 15: 262144 op, 3755100.00 ns, 14.3246 ns/op +WorkloadPilot 16: 524288 op, 7173100.00 ns, 13.6816 ns/op +WorkloadPilot 17: 1048576 op, 13780300.00 ns, 13.1419 ns/op +WorkloadPilot 18: 2097152 op, 27939700.00 ns, 13.3227 ns/op +WorkloadPilot 19: 4194304 op, 56492300.00 ns, 13.4688 ns/op +WorkloadPilot 20: 8388608 op, 88752200.00 ns, 10.5801 ns/op +WorkloadPilot 21: 16777216 op, 150383100.00 ns, 8.9635 ns/op +WorkloadPilot 22: 33554432 op, 292762300.00 ns, 8.7250 ns/op +WorkloadPilot 23: 67108864 op, 597480400.00 ns, 8.9032 ns/op + +OverheadWarmup 1: 67108864 op, 89350200.00 ns, 1.3314 ns/op +OverheadWarmup 2: 67108864 op, 89200400.00 ns, 1.3292 ns/op +OverheadWarmup 3: 67108864 op, 78141600.00 ns, 1.1644 ns/op +OverheadWarmup 4: 67108864 op, 70426500.00 ns, 1.0494 ns/op +OverheadWarmup 5: 67108864 op, 70449500.00 ns, 1.0498 ns/op +OverheadWarmup 6: 67108864 op, 70564900.00 ns, 1.0515 ns/op +OverheadWarmup 7: 67108864 op, 70435100.00 ns, 1.0496 ns/op +OverheadWarmup 8: 67108864 op, 70459700.00 ns, 1.0499 ns/op +OverheadWarmup 9: 67108864 op, 70618900.00 ns, 1.0523 ns/op +OverheadWarmup 10: 67108864 op, 70565100.00 ns, 1.0515 ns/op + +OverheadActual 1: 67108864 op, 70549000.00 ns, 1.0513 ns/op +OverheadActual 2: 67108864 op, 70423200.00 ns, 1.0494 ns/op +OverheadActual 3: 67108864 op, 70430900.00 ns, 1.0495 ns/op +OverheadActual 4: 67108864 op, 70779100.00 ns, 1.0547 ns/op +OverheadActual 5: 67108864 op, 70520700.00 ns, 1.0508 ns/op +OverheadActual 6: 67108864 op, 70507200.00 ns, 1.0506 ns/op +OverheadActual 7: 67108864 op, 70527100.00 ns, 1.0509 ns/op +OverheadActual 8: 67108864 op, 70440700.00 ns, 1.0496 ns/op +OverheadActual 9: 67108864 op, 70462900.00 ns, 1.0500 ns/op +OverheadActual 10: 67108864 op, 70488600.00 ns, 1.0504 ns/op +OverheadActual 11: 67108864 op, 70543300.00 ns, 1.0512 ns/op +OverheadActual 12: 67108864 op, 70478100.00 ns, 1.0502 ns/op +OverheadActual 13: 67108864 op, 70532600.00 ns, 1.0510 ns/op +OverheadActual 14: 67108864 op, 70521700.00 ns, 1.0509 ns/op +OverheadActual 15: 67108864 op, 70453400.00 ns, 1.0498 ns/op + +WorkloadWarmup 1: 67108864 op, 589097300.00 ns, 8.7782 ns/op +WorkloadWarmup 2: 67108864 op, 602440700.00 ns, 8.9771 ns/op +WorkloadWarmup 3: 67108864 op, 683495800.00 ns, 10.1849 ns/op +WorkloadWarmup 4: 67108864 op, 613096700.00 ns, 9.1359 ns/op +WorkloadWarmup 5: 67108864 op, 593386700.00 ns, 8.8422 ns/op +WorkloadWarmup 6: 67108864 op, 592083400.00 ns, 8.8227 ns/op +WorkloadWarmup 7: 67108864 op, 593860000.00 ns, 8.8492 ns/op +WorkloadWarmup 8: 67108864 op, 593375800.00 ns, 8.8420 ns/op + +// BeforeActualRun +WorkloadActual 1: 67108864 op, 609979300.00 ns, 9.0894 ns/op +WorkloadActual 2: 67108864 op, 617555300.00 ns, 9.2023 ns/op +WorkloadActual 3: 67108864 op, 643395100.00 ns, 9.5873 ns/op +WorkloadActual 4: 67108864 op, 618598300.00 ns, 9.2178 ns/op +WorkloadActual 5: 67108864 op, 616759400.00 ns, 9.1904 ns/op +WorkloadActual 6: 67108864 op, 614833800.00 ns, 9.1617 ns/op +WorkloadActual 7: 67108864 op, 610314200.00 ns, 9.0944 ns/op +WorkloadActual 8: 67108864 op, 604061600.00 ns, 9.0012 ns/op +WorkloadActual 9: 67108864 op, 631415200.00 ns, 9.4088 ns/op +WorkloadActual 10: 67108864 op, 645667300.00 ns, 9.6212 ns/op +WorkloadActual 11: 67108864 op, 599962600.00 ns, 8.9401 ns/op +WorkloadActual 12: 67108864 op, 619198000.00 ns, 9.2268 ns/op +WorkloadActual 13: 67108864 op, 627922000.00 ns, 9.3568 ns/op +WorkloadActual 14: 67108864 op, 601269300.00 ns, 8.9596 ns/op +WorkloadActual 15: 67108864 op, 597750100.00 ns, 8.9072 ns/op +WorkloadActual 16: 67108864 op, 611780900.00 ns, 9.1162 ns/op +WorkloadActual 17: 67108864 op, 602047500.00 ns, 8.9712 ns/op +WorkloadActual 18: 67108864 op, 601072500.00 ns, 8.9567 ns/op + +// AfterActualRun +WorkloadResult 1: 67108864 op, 539472100.00 ns, 8.0388 ns/op +WorkloadResult 2: 67108864 op, 547048100.00 ns, 8.1517 ns/op +WorkloadResult 3: 67108864 op, 572887900.00 ns, 8.5367 ns/op +WorkloadResult 4: 67108864 op, 548091100.00 ns, 8.1672 ns/op +WorkloadResult 5: 67108864 op, 546252200.00 ns, 8.1398 ns/op +WorkloadResult 6: 67108864 op, 544326600.00 ns, 8.1111 ns/op +WorkloadResult 7: 67108864 op, 539807000.00 ns, 8.0438 ns/op +WorkloadResult 8: 67108864 op, 533554400.00 ns, 7.9506 ns/op +WorkloadResult 9: 67108864 op, 560908000.00 ns, 8.3582 ns/op +WorkloadResult 10: 67108864 op, 529455400.00 ns, 7.8895 ns/op +WorkloadResult 11: 67108864 op, 548690800.00 ns, 8.1761 ns/op +WorkloadResult 12: 67108864 op, 557414800.00 ns, 8.3061 ns/op +WorkloadResult 13: 67108864 op, 530762100.00 ns, 7.9090 ns/op +WorkloadResult 14: 67108864 op, 527242900.00 ns, 7.8565 ns/op +WorkloadResult 15: 67108864 op, 541273700.00 ns, 8.0656 ns/op +WorkloadResult 16: 67108864 op, 531540300.00 ns, 7.9206 ns/op +WorkloadResult 17: 67108864 op, 530565300.00 ns, 7.9060 ns/op +// GC: 542 0 0 10200547328 67108864 +// Threading: 0 0 67108864 + +// AfterAll +// Benchmark Process 37492 has exited with code 0. + +Mean = 8.090 ns, StdErr = 0.045 ns (0.56%), N = 17, StdDev = 0.186 ns +Min = 7.857 ns, Q1 = 7.921 ns, Median = 8.066 ns, Q3 = 8.167 ns, Max = 8.537 ns +IQR = 0.247 ns, LowerFence = 7.551 ns, UpperFence = 8.537 ns +ConfidenceInterval = [7.909 ns; 8.271 ns] (CI 99.9%), Margin = 0.181 ns (2.24% of Mean) +Skewness = 0.73, Kurtosis = 2.72, MValue = 2 + +// ** Remained 12 (37.5%) benchmark(s) to run. Estimated finish 2026-02-23 19:07 (0h 5m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.LargeArrayClone: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2652 2868 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.LargeArrayClone --job ".NET 10.0" --benchmarkId 13 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 198000.00 ns, 198.0000 us/op +WorkloadJitting 1: 1 op, 133800.00 ns, 133.8000 us/op + +OverheadJitting 2: 16 op, 118500.00 ns, 7.4063 us/op +WorkloadJitting 2: 16 op, 116800.00 ns, 7.3000 us/op + +WorkloadPilot 1: 16 op, 2200.00 ns, 137.5000 ns/op +WorkloadPilot 2: 32 op, 7300.00 ns, 228.1250 ns/op +WorkloadPilot 3: 64 op, 20300.00 ns, 317.1875 ns/op +WorkloadPilot 4: 128 op, 40700.00 ns, 317.9688 ns/op +WorkloadPilot 5: 256 op, 66000.00 ns, 257.8125 ns/op +WorkloadPilot 6: 512 op, 91400.00 ns, 178.5156 ns/op +WorkloadPilot 7: 1024 op, 199400.00 ns, 194.7266 ns/op +WorkloadPilot 8: 2048 op, 439600.00 ns, 214.6484 ns/op +WorkloadPilot 9: 4096 op, 851300.00 ns, 207.8369 ns/op +WorkloadPilot 10: 8192 op, 1651000.00 ns, 201.5381 ns/op +WorkloadPilot 11: 16384 op, 3492100.00 ns, 213.1409 ns/op +WorkloadPilot 12: 32768 op, 2758600.00 ns, 84.1858 ns/op +WorkloadPilot 13: 65536 op, 3938100.00 ns, 60.0906 ns/op +WorkloadPilot 14: 131072 op, 7236400.00 ns, 55.2094 ns/op +WorkloadPilot 15: 262144 op, 14241300.00 ns, 54.3262 ns/op +WorkloadPilot 16: 524288 op, 29405600.00 ns, 56.0867 ns/op +WorkloadPilot 17: 1048576 op, 56779000.00 ns, 54.1487 ns/op +WorkloadPilot 18: 2097152 op, 114132500.00 ns, 54.4226 ns/op +WorkloadPilot 19: 4194304 op, 218876900.00 ns, 52.1843 ns/op +WorkloadPilot 20: 8388608 op, 451079000.00 ns, 53.7728 ns/op +WorkloadPilot 21: 16777216 op, 873271700.00 ns, 52.0510 ns/op + +OverheadWarmup 1: 16777216 op, 22257700.00 ns, 1.3267 ns/op +OverheadWarmup 2: 16777216 op, 22302900.00 ns, 1.3294 ns/op +OverheadWarmup 3: 16777216 op, 22414000.00 ns, 1.3360 ns/op +OverheadWarmup 4: 16777216 op, 22372300.00 ns, 1.3335 ns/op +OverheadWarmup 5: 16777216 op, 22325000.00 ns, 1.3307 ns/op +OverheadWarmup 6: 16777216 op, 22329100.00 ns, 1.3309 ns/op +OverheadWarmup 7: 16777216 op, 22331900.00 ns, 1.3311 ns/op +OverheadWarmup 8: 16777216 op, 22249400.00 ns, 1.3262 ns/op + +OverheadActual 1: 16777216 op, 22499200.00 ns, 1.3411 ns/op +OverheadActual 2: 16777216 op, 22546500.00 ns, 1.3439 ns/op +OverheadActual 3: 16777216 op, 22465900.00 ns, 1.3391 ns/op +OverheadActual 4: 16777216 op, 22531000.00 ns, 1.3430 ns/op +OverheadActual 5: 16777216 op, 22229800.00 ns, 1.3250 ns/op +OverheadActual 6: 16777216 op, 22265700.00 ns, 1.3271 ns/op +OverheadActual 7: 16777216 op, 22229500.00 ns, 1.3250 ns/op +OverheadActual 8: 16777216 op, 22221700.00 ns, 1.3245 ns/op +OverheadActual 9: 16777216 op, 22227300.00 ns, 1.3249 ns/op +OverheadActual 10: 16777216 op, 22249600.00 ns, 1.3262 ns/op +OverheadActual 11: 16777216 op, 21108800.00 ns, 1.2582 ns/op +OverheadActual 12: 16777216 op, 17807800.00 ns, 1.0614 ns/op +OverheadActual 13: 16777216 op, 17723500.00 ns, 1.0564 ns/op +OverheadActual 14: 16777216 op, 17613200.00 ns, 1.0498 ns/op +OverheadActual 15: 16777216 op, 17747200.00 ns, 1.0578 ns/op +OverheadActual 16: 16777216 op, 17655200.00 ns, 1.0523 ns/op +OverheadActual 17: 16777216 op, 17680000.00 ns, 1.0538 ns/op +OverheadActual 18: 16777216 op, 17618700.00 ns, 1.0502 ns/op +OverheadActual 19: 16777216 op, 17645200.00 ns, 1.0517 ns/op +OverheadActual 20: 16777216 op, 17775800.00 ns, 1.0595 ns/op + +WorkloadWarmup 1: 16777216 op, 888525100.00 ns, 52.9602 ns/op +WorkloadWarmup 2: 16777216 op, 881206700.00 ns, 52.5240 ns/op +WorkloadWarmup 3: 16777216 op, 890857200.00 ns, 53.0992 ns/op +WorkloadWarmup 4: 16777216 op, 860300600.00 ns, 51.2779 ns/op +WorkloadWarmup 5: 16777216 op, 1091670100.00 ns, 65.0686 ns/op +WorkloadWarmup 6: 16777216 op, 874945900.00 ns, 52.1508 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 884875700.00 ns, 52.7427 ns/op +WorkloadActual 2: 16777216 op, 927442200.00 ns, 55.2799 ns/op +WorkloadActual 3: 16777216 op, 909867200.00 ns, 54.2323 ns/op +WorkloadActual 4: 16777216 op, 1083266500.00 ns, 64.5677 ns/op +WorkloadActual 5: 16777216 op, 933845300.00 ns, 55.6615 ns/op +WorkloadActual 6: 16777216 op, 894259100.00 ns, 53.3020 ns/op +WorkloadActual 7: 16777216 op, 902334400.00 ns, 53.7833 ns/op +WorkloadActual 8: 16777216 op, 893793900.00 ns, 53.2743 ns/op +WorkloadActual 9: 16777216 op, 883994200.00 ns, 52.6902 ns/op +WorkloadActual 10: 16777216 op, 887385100.00 ns, 52.8923 ns/op +WorkloadActual 11: 16777216 op, 1072446400.00 ns, 63.9228 ns/op +WorkloadActual 12: 16777216 op, 915491800.00 ns, 54.5676 ns/op +WorkloadActual 13: 16777216 op, 902377500.00 ns, 53.7859 ns/op +WorkloadActual 14: 16777216 op, 889896000.00 ns, 53.0419 ns/op +WorkloadActual 15: 16777216 op, 923982100.00 ns, 55.0736 ns/op +WorkloadActual 16: 16777216 op, 919553000.00 ns, 54.8096 ns/op +WorkloadActual 17: 16777216 op, 889023400.00 ns, 52.9899 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 863210450.00 ns, 51.4514 ns/op +WorkloadResult 2: 16777216 op, 905776950.00 ns, 53.9885 ns/op +WorkloadResult 3: 16777216 op, 888201950.00 ns, 52.9410 ns/op +WorkloadResult 4: 16777216 op, 912180050.00 ns, 54.3702 ns/op +WorkloadResult 5: 16777216 op, 872593850.00 ns, 52.0106 ns/op +WorkloadResult 6: 16777216 op, 880669150.00 ns, 52.4920 ns/op +WorkloadResult 7: 16777216 op, 872128650.00 ns, 51.9829 ns/op +WorkloadResult 8: 16777216 op, 862328950.00 ns, 51.3988 ns/op +WorkloadResult 9: 16777216 op, 865719850.00 ns, 51.6009 ns/op +WorkloadResult 10: 16777216 op, 893826550.00 ns, 53.2762 ns/op +WorkloadResult 11: 16777216 op, 880712250.00 ns, 52.4945 ns/op +WorkloadResult 12: 16777216 op, 868230750.00 ns, 51.7506 ns/op +WorkloadResult 13: 16777216 op, 902316850.00 ns, 53.7823 ns/op +WorkloadResult 14: 16777216 op, 897887750.00 ns, 53.5183 ns/op +WorkloadResult 15: 16777216 op, 867358150.00 ns, 51.6986 ns/op +// GC: 931 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 109716 has exited with code 0. + +Mean = 52.584 ns, StdErr = 0.257 ns (0.49%), N = 15, StdDev = 0.997 ns +Min = 51.399 ns, Q1 = 51.725 ns, Median = 52.492 ns, Q3 = 53.397 ns, Max = 54.370 ns +IQR = 1.673 ns, LowerFence = 49.216 ns, UpperFence = 55.906 ns +ConfidenceInterval = [51.518 ns; 53.650 ns] (CI 99.9%), Margin = 1.066 ns (2.03% of Mean) +Skewness = 0.38, Kurtosis = 1.55, MValue = 2 + +// ** Remained 11 (34.4%) benchmark(s) to run. Estimated finish 2026-02-23 19:07 (0h 5m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.LargeNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2920 1748 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.LargeNewArrayBlockCopy --job ".NET 10.0" --benchmarkId 14 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 77000.00 ns, 77.0000 us/op +WorkloadJitting 1: 1 op, 128700.00 ns, 128.7000 us/op + +OverheadJitting 2: 16 op, 112900.00 ns, 7.0563 us/op +WorkloadJitting 2: 16 op, 116900.00 ns, 7.3063 us/op + +WorkloadPilot 1: 16 op, 4200.00 ns, 262.5000 ns/op +WorkloadPilot 2: 32 op, 5400.00 ns, 168.7500 ns/op +WorkloadPilot 3: 64 op, 24200.00 ns, 378.1250 ns/op +WorkloadPilot 4: 128 op, 41600.00 ns, 325.0000 ns/op +WorkloadPilot 5: 256 op, 78900.00 ns, 308.2031 ns/op +WorkloadPilot 6: 512 op, 101800.00 ns, 198.8281 ns/op +WorkloadPilot 7: 1024 op, 230200.00 ns, 224.8047 ns/op +WorkloadPilot 8: 2048 op, 443000.00 ns, 216.3086 ns/op +WorkloadPilot 9: 4096 op, 903700.00 ns, 220.6299 ns/op +WorkloadPilot 10: 8192 op, 1915700.00 ns, 233.8501 ns/op +WorkloadPilot 11: 16384 op, 3545900.00 ns, 216.4246 ns/op +WorkloadPilot 12: 32768 op, 2591900.00 ns, 79.0985 ns/op +WorkloadPilot 13: 65536 op, 3369000.00 ns, 51.4069 ns/op +WorkloadPilot 14: 131072 op, 5534100.00 ns, 42.2218 ns/op +WorkloadPilot 15: 262144 op, 11643600.00 ns, 44.4168 ns/op +WorkloadPilot 16: 524288 op, 22316500.00 ns, 42.5653 ns/op +WorkloadPilot 17: 1048576 op, 44940100.00 ns, 42.8582 ns/op +WorkloadPilot 18: 2097152 op, 82186000.00 ns, 39.1893 ns/op +WorkloadPilot 19: 4194304 op, 145601300.00 ns, 34.7141 ns/op +WorkloadPilot 20: 8388608 op, 289767000.00 ns, 34.5429 ns/op +WorkloadPilot 21: 16777216 op, 573187600.00 ns, 34.1646 ns/op + +OverheadWarmup 1: 16777216 op, 22477900.00 ns, 1.3398 ns/op +OverheadWarmup 2: 16777216 op, 22472800.00 ns, 1.3395 ns/op +OverheadWarmup 3: 16777216 op, 22613000.00 ns, 1.3478 ns/op +OverheadWarmup 4: 16777216 op, 22590900.00 ns, 1.3465 ns/op +OverheadWarmup 5: 16777216 op, 22763300.00 ns, 1.3568 ns/op +OverheadWarmup 6: 16777216 op, 22475100.00 ns, 1.3396 ns/op + +OverheadActual 1: 16777216 op, 22585500.00 ns, 1.3462 ns/op +OverheadActual 2: 16777216 op, 22440200.00 ns, 1.3375 ns/op +OverheadActual 3: 16777216 op, 22418000.00 ns, 1.3362 ns/op +OverheadActual 4: 16777216 op, 22608600.00 ns, 1.3476 ns/op +OverheadActual 5: 16777216 op, 22683800.00 ns, 1.3521 ns/op +OverheadActual 6: 16777216 op, 22443400.00 ns, 1.3377 ns/op +OverheadActual 7: 16777216 op, 22458300.00 ns, 1.3386 ns/op +OverheadActual 8: 16777216 op, 22635500.00 ns, 1.3492 ns/op +OverheadActual 9: 16777216 op, 22461400.00 ns, 1.3388 ns/op +OverheadActual 10: 16777216 op, 22673000.00 ns, 1.3514 ns/op +OverheadActual 11: 16777216 op, 22508500.00 ns, 1.3416 ns/op +OverheadActual 12: 16777216 op, 22518200.00 ns, 1.3422 ns/op +OverheadActual 13: 16777216 op, 22625500.00 ns, 1.3486 ns/op +OverheadActual 14: 16777216 op, 17965000.00 ns, 1.0708 ns/op +OverheadActual 15: 16777216 op, 17772200.00 ns, 1.0593 ns/op +OverheadActual 16: 16777216 op, 17739600.00 ns, 1.0574 ns/op +OverheadActual 17: 16777216 op, 17762900.00 ns, 1.0588 ns/op +OverheadActual 18: 16777216 op, 17785200.00 ns, 1.0601 ns/op +OverheadActual 19: 16777216 op, 17695700.00 ns, 1.0547 ns/op +OverheadActual 20: 16777216 op, 17772000.00 ns, 1.0593 ns/op + +WorkloadWarmup 1: 16777216 op, 584355100.00 ns, 34.8303 ns/op +WorkloadWarmup 2: 16777216 op, 580428000.00 ns, 34.5962 ns/op +WorkloadWarmup 3: 16777216 op, 601640500.00 ns, 35.8606 ns/op +WorkloadWarmup 4: 16777216 op, 614559800.00 ns, 36.6306 ns/op +WorkloadWarmup 5: 16777216 op, 578215900.00 ns, 34.4644 ns/op +WorkloadWarmup 6: 16777216 op, 597596400.00 ns, 35.6195 ns/op +WorkloadWarmup 7: 16777216 op, 588259200.00 ns, 35.0630 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 577430800.00 ns, 34.4176 ns/op +WorkloadActual 2: 16777216 op, 579903300.00 ns, 34.5649 ns/op +WorkloadActual 3: 16777216 op, 577483700.00 ns, 34.4207 ns/op +WorkloadActual 4: 16777216 op, 596374300.00 ns, 35.5467 ns/op +WorkloadActual 5: 16777216 op, 608154300.00 ns, 36.2488 ns/op +WorkloadActual 6: 16777216 op, 610869600.00 ns, 36.4107 ns/op +WorkloadActual 7: 16777216 op, 622865900.00 ns, 37.1257 ns/op +WorkloadActual 8: 16777216 op, 614469300.00 ns, 36.6252 ns/op +WorkloadActual 9: 16777216 op, 672336900.00 ns, 40.0744 ns/op +WorkloadActual 10: 16777216 op, 621628800.00 ns, 37.0520 ns/op +WorkloadActual 11: 16777216 op, 616422100.00 ns, 36.7416 ns/op +WorkloadActual 12: 16777216 op, 593684700.00 ns, 35.3864 ns/op +WorkloadActual 13: 16777216 op, 609107200.00 ns, 36.3056 ns/op +WorkloadActual 14: 16777216 op, 598295200.00 ns, 35.6612 ns/op +WorkloadActual 15: 16777216 op, 594848500.00 ns, 35.4557 ns/op +WorkloadActual 16: 16777216 op, 608141400.00 ns, 36.2481 ns/op +WorkloadActual 17: 16777216 op, 583376300.00 ns, 34.7719 ns/op +WorkloadActual 18: 16777216 op, 577541000.00 ns, 34.4241 ns/op +WorkloadActual 19: 16777216 op, 576858200.00 ns, 34.3834 ns/op +WorkloadActual 20: 16777216 op, 567939300.00 ns, 33.8518 ns/op +WorkloadActual 21: 16777216 op, 571320200.00 ns, 34.0533 ns/op +WorkloadActual 22: 16777216 op, 586673900.00 ns, 34.9685 ns/op +WorkloadActual 23: 16777216 op, 585966100.00 ns, 34.9263 ns/op +WorkloadActual 24: 16777216 op, 572262000.00 ns, 34.1095 ns/op +WorkloadActual 25: 16777216 op, 570101100.00 ns, 33.9807 ns/op +WorkloadActual 26: 16777216 op, 607858900.00 ns, 36.2312 ns/op +WorkloadActual 27: 16777216 op, 589262600.00 ns, 35.1228 ns/op +WorkloadActual 28: 16777216 op, 570190800.00 ns, 33.9860 ns/op +WorkloadActual 29: 16777216 op, 574508200.00 ns, 34.2434 ns/op +WorkloadActual 30: 16777216 op, 574246600.00 ns, 34.2278 ns/op +WorkloadActual 31: 16777216 op, 591961000.00 ns, 35.2836 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 554979950.00 ns, 33.0794 ns/op +WorkloadResult 2: 16777216 op, 557452450.00 ns, 33.2268 ns/op +WorkloadResult 3: 16777216 op, 555032850.00 ns, 33.0825 ns/op +WorkloadResult 4: 16777216 op, 573923450.00 ns, 34.2085 ns/op +WorkloadResult 5: 16777216 op, 585703450.00 ns, 34.9106 ns/op +WorkloadResult 6: 16777216 op, 588418750.00 ns, 35.0725 ns/op +WorkloadResult 7: 16777216 op, 600415050.00 ns, 35.7875 ns/op +WorkloadResult 8: 16777216 op, 592018450.00 ns, 35.2870 ns/op +WorkloadResult 9: 16777216 op, 599177950.00 ns, 35.7138 ns/op +WorkloadResult 10: 16777216 op, 593971250.00 ns, 35.4034 ns/op +WorkloadResult 11: 16777216 op, 571233850.00 ns, 34.0482 ns/op +WorkloadResult 12: 16777216 op, 586656350.00 ns, 34.9674 ns/op +WorkloadResult 13: 16777216 op, 575844350.00 ns, 34.3230 ns/op +WorkloadResult 14: 16777216 op, 572397650.00 ns, 34.1176 ns/op +WorkloadResult 15: 16777216 op, 585690550.00 ns, 34.9099 ns/op +WorkloadResult 16: 16777216 op, 560925450.00 ns, 33.4338 ns/op +WorkloadResult 17: 16777216 op, 555090150.00 ns, 33.0860 ns/op +WorkloadResult 18: 16777216 op, 554407350.00 ns, 33.0453 ns/op +WorkloadResult 19: 16777216 op, 545488450.00 ns, 32.5136 ns/op +WorkloadResult 20: 16777216 op, 548869350.00 ns, 32.7152 ns/op +WorkloadResult 21: 16777216 op, 564223050.00 ns, 33.6303 ns/op +WorkloadResult 22: 16777216 op, 563515250.00 ns, 33.5881 ns/op +WorkloadResult 23: 16777216 op, 549811150.00 ns, 32.7713 ns/op +WorkloadResult 24: 16777216 op, 547650250.00 ns, 32.6425 ns/op +WorkloadResult 25: 16777216 op, 585408050.00 ns, 34.8930 ns/op +WorkloadResult 26: 16777216 op, 566811750.00 ns, 33.7846 ns/op +WorkloadResult 27: 16777216 op, 547739950.00 ns, 32.6478 ns/op +WorkloadResult 28: 16777216 op, 552057350.00 ns, 32.9052 ns/op +WorkloadResult 29: 16777216 op, 551795750.00 ns, 32.8896 ns/op +WorkloadResult 30: 16777216 op, 569510150.00 ns, 33.9455 ns/op +// GC: 934 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 120720 has exited with code 0. + +Mean = 33.888 ns, StdErr = 0.187 ns (0.55%), N = 30, StdDev = 1.022 ns +Min = 32.514 ns, Q1 = 33.054 ns, Median = 33.707 ns, Q3 = 34.906 ns, Max = 35.788 ns +IQR = 1.852 ns, LowerFence = 30.276 ns, UpperFence = 37.683 ns +ConfidenceInterval = [33.205 ns; 34.570 ns] (CI 99.9%), Margin = 0.683 ns (2.01% of Mean) +Skewness = 0.36, Kurtosis = 1.7, MValue = 2 + +// ** Remained 10 (31.2%) benchmark(s) to run. Estimated finish 2026-02-23 19:07 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.LargeAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2892 2884 --benchmarkName BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.LargeAllocUninitBlockCopy --job ".NET 10.0" --benchmarkId 15 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 90200.00 ns, 90.2000 us/op +WorkloadJitting 1: 1 op, 154100.00 ns, 154.1000 us/op + +OverheadJitting 2: 16 op, 119300.00 ns, 7.4563 us/op +WorkloadJitting 2: 16 op, 127500.00 ns, 7.9688 us/op + +WorkloadPilot 1: 16 op, 5000.00 ns, 312.5000 ns/op +WorkloadPilot 2: 32 op, 7100.00 ns, 221.8750 ns/op +WorkloadPilot 3: 64 op, 21400.00 ns, 334.3750 ns/op +WorkloadPilot 4: 128 op, 42700.00 ns, 333.5938 ns/op +WorkloadPilot 5: 256 op, 69800.00 ns, 272.6563 ns/op +WorkloadPilot 6: 512 op, 102600.00 ns, 200.3906 ns/op +WorkloadPilot 7: 1024 op, 230300.00 ns, 224.9023 ns/op +WorkloadPilot 8: 2048 op, 450800.00 ns, 220.1172 ns/op +WorkloadPilot 9: 4096 op, 932400.00 ns, 227.6367 ns/op +WorkloadPilot 10: 8192 op, 1775500.00 ns, 216.7358 ns/op +WorkloadPilot 11: 16384 op, 3902000.00 ns, 238.1592 ns/op +WorkloadPilot 12: 32768 op, 3098200.00 ns, 94.5496 ns/op +WorkloadPilot 13: 65536 op, 4691600.00 ns, 71.5881 ns/op +WorkloadPilot 14: 131072 op, 8395000.00 ns, 64.0488 ns/op +WorkloadPilot 15: 262144 op, 15066800.00 ns, 57.4753 ns/op +WorkloadPilot 16: 524288 op, 32660900.00 ns, 62.2957 ns/op +WorkloadPilot 17: 1048576 op, 55197200.00 ns, 52.6402 ns/op +WorkloadPilot 18: 2097152 op, 81748400.00 ns, 38.9807 ns/op +WorkloadPilot 19: 4194304 op, 159501900.00 ns, 38.0282 ns/op +WorkloadPilot 20: 8388608 op, 306560000.00 ns, 36.5448 ns/op +WorkloadPilot 21: 16777216 op, 607501500.00 ns, 36.2099 ns/op + +OverheadWarmup 1: 16777216 op, 22522200.00 ns, 1.3424 ns/op +OverheadWarmup 2: 16777216 op, 22402500.00 ns, 1.3353 ns/op +OverheadWarmup 3: 16777216 op, 22610600.00 ns, 1.3477 ns/op +OverheadWarmup 4: 16777216 op, 22419300.00 ns, 1.3363 ns/op +OverheadWarmup 5: 16777216 op, 22506600.00 ns, 1.3415 ns/op +OverheadWarmup 6: 16777216 op, 22403400.00 ns, 1.3353 ns/op + +OverheadActual 1: 16777216 op, 22516000.00 ns, 1.3421 ns/op +OverheadActual 2: 16777216 op, 22474400.00 ns, 1.3396 ns/op +OverheadActual 3: 16777216 op, 22578000.00 ns, 1.3458 ns/op +OverheadActual 4: 16777216 op, 22433500.00 ns, 1.3371 ns/op +OverheadActual 5: 16777216 op, 22488700.00 ns, 1.3404 ns/op +OverheadActual 6: 16777216 op, 22428000.00 ns, 1.3368 ns/op +OverheadActual 7: 16777216 op, 22469700.00 ns, 1.3393 ns/op +OverheadActual 8: 16777216 op, 22463000.00 ns, 1.3389 ns/op +OverheadActual 9: 16777216 op, 22481800.00 ns, 1.3400 ns/op +OverheadActual 10: 16777216 op, 22435900.00 ns, 1.3373 ns/op +OverheadActual 11: 16777216 op, 22437800.00 ns, 1.3374 ns/op +OverheadActual 12: 16777216 op, 22421200.00 ns, 1.3364 ns/op +OverheadActual 13: 16777216 op, 22642000.00 ns, 1.3496 ns/op +OverheadActual 14: 16777216 op, 17754900.00 ns, 1.0583 ns/op +OverheadActual 15: 16777216 op, 17626000.00 ns, 1.0506 ns/op +OverheadActual 16: 16777216 op, 17638200.00 ns, 1.0513 ns/op +OverheadActual 17: 16777216 op, 17627700.00 ns, 1.0507 ns/op +OverheadActual 18: 16777216 op, 17619400.00 ns, 1.0502 ns/op +OverheadActual 19: 16777216 op, 17802700.00 ns, 1.0611 ns/op +OverheadActual 20: 16777216 op, 17610300.00 ns, 1.0497 ns/op + +WorkloadWarmup 1: 16777216 op, 600229400.00 ns, 35.7765 ns/op +WorkloadWarmup 2: 16777216 op, 603348100.00 ns, 35.9623 ns/op +WorkloadWarmup 3: 16777216 op, 585494000.00 ns, 34.8982 ns/op +WorkloadWarmup 4: 16777216 op, 587954100.00 ns, 35.0448 ns/op +WorkloadWarmup 5: 16777216 op, 604215000.00 ns, 36.0140 ns/op +WorkloadWarmup 6: 16777216 op, 690799200.00 ns, 41.1748 ns/op +WorkloadWarmup 7: 16777216 op, 591383900.00 ns, 35.2492 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 593074500.00 ns, 35.3500 ns/op +WorkloadActual 2: 16777216 op, 594179600.00 ns, 35.4159 ns/op +WorkloadActual 3: 16777216 op, 615430300.00 ns, 36.6825 ns/op +WorkloadActual 4: 16777216 op, 614094500.00 ns, 36.6029 ns/op +WorkloadActual 5: 16777216 op, 595074600.00 ns, 35.4692 ns/op +WorkloadActual 6: 16777216 op, 591132100.00 ns, 35.2342 ns/op +WorkloadActual 7: 16777216 op, 622275300.00 ns, 37.0905 ns/op +WorkloadActual 8: 16777216 op, 594724700.00 ns, 35.4484 ns/op +WorkloadActual 9: 16777216 op, 622556700.00 ns, 37.1073 ns/op +WorkloadActual 10: 16777216 op, 580572400.00 ns, 34.6048 ns/op +WorkloadActual 11: 16777216 op, 640858200.00 ns, 38.1981 ns/op +WorkloadActual 12: 16777216 op, 610769100.00 ns, 36.4047 ns/op +WorkloadActual 13: 16777216 op, 598715200.00 ns, 35.6862 ns/op +WorkloadActual 14: 16777216 op, 597812100.00 ns, 35.6324 ns/op +WorkloadActual 15: 16777216 op, 676970200.00 ns, 40.3506 ns/op +WorkloadActual 16: 16777216 op, 594351400.00 ns, 35.4261 ns/op +WorkloadActual 17: 16777216 op, 626058400.00 ns, 37.3160 ns/op +WorkloadActual 18: 16777216 op, 793977400.00 ns, 47.3247 ns/op +WorkloadActual 19: 16777216 op, 761761000.00 ns, 45.4045 ns/op +WorkloadActual 20: 16777216 op, 664589000.00 ns, 39.6126 ns/op +WorkloadActual 21: 16777216 op, 636738100.00 ns, 37.9525 ns/op +WorkloadActual 22: 16777216 op, 702476200.00 ns, 41.8708 ns/op +WorkloadActual 23: 16777216 op, 624208600.00 ns, 37.2057 ns/op +WorkloadActual 24: 16777216 op, 658329800.00 ns, 39.2395 ns/op +WorkloadActual 25: 16777216 op, 628444600.00 ns, 37.4582 ns/op +WorkloadActual 26: 16777216 op, 704522700.00 ns, 41.9928 ns/op +WorkloadActual 27: 16777216 op, 614496700.00 ns, 36.6269 ns/op +WorkloadActual 28: 16777216 op, 596893000.00 ns, 35.5776 ns/op +WorkloadActual 29: 16777216 op, 614628300.00 ns, 36.6347 ns/op +WorkloadActual 30: 16777216 op, 614786900.00 ns, 36.6442 ns/op +WorkloadActual 31: 16777216 op, 592591900.00 ns, 35.3212 ns/op +WorkloadActual 32: 16777216 op, 598295800.00 ns, 35.6612 ns/op +WorkloadActual 33: 16777216 op, 601058900.00 ns, 35.8259 ns/op +WorkloadActual 34: 16777216 op, 818624400.00 ns, 48.7938 ns/op +WorkloadActual 35: 16777216 op, 698676700.00 ns, 41.6444 ns/op +WorkloadActual 36: 16777216 op, 675798700.00 ns, 40.2807 ns/op +WorkloadActual 37: 16777216 op, 598900400.00 ns, 35.6972 ns/op +WorkloadActual 38: 16777216 op, 616282400.00 ns, 36.7333 ns/op +WorkloadActual 39: 16777216 op, 606171600.00 ns, 36.1306 ns/op +WorkloadActual 40: 16777216 op, 614624700.00 ns, 36.6345 ns/op +WorkloadActual 41: 16777216 op, 612374000.00 ns, 36.5003 ns/op +WorkloadActual 42: 16777216 op, 606370700.00 ns, 36.1425 ns/op +WorkloadActual 43: 16777216 op, 609451400.00 ns, 36.3261 ns/op +WorkloadActual 44: 16777216 op, 603038100.00 ns, 35.9439 ns/op +WorkloadActual 45: 16777216 op, 644348400.00 ns, 38.4062 ns/op +WorkloadActual 46: 16777216 op, 613224100.00 ns, 36.5510 ns/op +WorkloadActual 47: 16777216 op, 609429100.00 ns, 36.3248 ns/op +WorkloadActual 48: 16777216 op, 612405600.00 ns, 36.5022 ns/op +WorkloadActual 49: 16777216 op, 714967100.00 ns, 42.6154 ns/op +WorkloadActual 50: 16777216 op, 841727800.00 ns, 50.1709 ns/op +WorkloadActual 51: 16777216 op, 666619300.00 ns, 39.7336 ns/op +WorkloadActual 52: 16777216 op, 597507600.00 ns, 35.6142 ns/op +WorkloadActual 53: 16777216 op, 645417200.00 ns, 38.4699 ns/op +WorkloadActual 54: 16777216 op, 768262000.00 ns, 45.7920 ns/op +WorkloadActual 55: 16777216 op, 750265500.00 ns, 44.7193 ns/op +WorkloadActual 56: 16777216 op, 811453000.00 ns, 48.3664 ns/op +WorkloadActual 57: 16777216 op, 791531400.00 ns, 47.1789 ns/op +WorkloadActual 58: 16777216 op, 736960100.00 ns, 43.9262 ns/op +WorkloadActual 59: 16777216 op, 837912000.00 ns, 49.9434 ns/op +WorkloadActual 60: 16777216 op, 816777400.00 ns, 48.6837 ns/op +WorkloadActual 61: 16777216 op, 917352500.00 ns, 54.6785 ns/op +WorkloadActual 62: 16777216 op, 609257200.00 ns, 36.3146 ns/op +WorkloadActual 63: 16777216 op, 744152800.00 ns, 44.3550 ns/op +WorkloadActual 64: 16777216 op, 805657500.00 ns, 48.0209 ns/op +WorkloadActual 65: 16777216 op, 1113874100.00 ns, 66.3921 ns/op +WorkloadActual 66: 16777216 op, 938786600.00 ns, 55.9560 ns/op +WorkloadActual 67: 16777216 op, 1004356900.00 ns, 59.8643 ns/op +WorkloadActual 68: 16777216 op, 837038000.00 ns, 49.8914 ns/op +WorkloadActual 69: 16777216 op, 844204000.00 ns, 50.3185 ns/op +WorkloadActual 70: 16777216 op, 752451000.00 ns, 44.8496 ns/op +WorkloadActual 71: 16777216 op, 1044383700.00 ns, 62.2501 ns/op +WorkloadActual 72: 16777216 op, 835988600.00 ns, 49.8288 ns/op +WorkloadActual 73: 16777216 op, 900973900.00 ns, 53.7022 ns/op +WorkloadActual 74: 16777216 op, 741311000.00 ns, 44.1856 ns/op +WorkloadActual 75: 16777216 op, 653215400.00 ns, 38.9347 ns/op +WorkloadActual 76: 16777216 op, 645794700.00 ns, 38.4924 ns/op +WorkloadActual 77: 16777216 op, 787045600.00 ns, 46.9116 ns/op +WorkloadActual 78: 16777216 op, 713697700.00 ns, 42.5397 ns/op +WorkloadActual 79: 16777216 op, 631291300.00 ns, 37.6279 ns/op +WorkloadActual 80: 16777216 op, 712681900.00 ns, 42.4792 ns/op +WorkloadActual 81: 16777216 op, 863311400.00 ns, 51.4574 ns/op +WorkloadActual 82: 16777216 op, 789479100.00 ns, 47.0566 ns/op +WorkloadActual 83: 16777216 op, 602912100.00 ns, 35.9364 ns/op +WorkloadActual 84: 16777216 op, 667003900.00 ns, 39.7565 ns/op +WorkloadActual 85: 16777216 op, 613429500.00 ns, 36.5632 ns/op +WorkloadActual 86: 16777216 op, 642374100.00 ns, 38.2885 ns/op +WorkloadActual 87: 16777216 op, 614264300.00 ns, 36.6130 ns/op +WorkloadActual 88: 16777216 op, 605103600.00 ns, 36.0670 ns/op +WorkloadActual 89: 16777216 op, 620718500.00 ns, 36.9977 ns/op +WorkloadActual 90: 16777216 op, 639171400.00 ns, 38.0976 ns/op +WorkloadActual 91: 16777216 op, 734601800.00 ns, 43.7857 ns/op +WorkloadActual 92: 16777216 op, 597965900.00 ns, 35.6415 ns/op +WorkloadActual 93: 16777216 op, 889964000.00 ns, 53.0460 ns/op +WorkloadActual 94: 16777216 op, 944005500.00 ns, 56.2671 ns/op +WorkloadActual 95: 16777216 op, 600459000.00 ns, 35.7901 ns/op +WorkloadActual 96: 16777216 op, 587343900.00 ns, 35.0084 ns/op +WorkloadActual 97: 16777216 op, 590289000.00 ns, 35.1840 ns/op +WorkloadActual 98: 16777216 op, 595616100.00 ns, 35.5015 ns/op +WorkloadActual 99: 16777216 op, 603229600.00 ns, 35.9553 ns/op +WorkloadActual 100: 16777216 op, 591935100.00 ns, 35.2821 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 570639800.00 ns, 34.0128 ns/op +WorkloadResult 2: 16777216 op, 571744900.00 ns, 34.0787 ns/op +WorkloadResult 3: 16777216 op, 592995600.00 ns, 35.3453 ns/op +WorkloadResult 4: 16777216 op, 591659800.00 ns, 35.2657 ns/op +WorkloadResult 5: 16777216 op, 572639900.00 ns, 34.1320 ns/op +WorkloadResult 6: 16777216 op, 568697400.00 ns, 33.8970 ns/op +WorkloadResult 7: 16777216 op, 599840600.00 ns, 35.7533 ns/op +WorkloadResult 8: 16777216 op, 572290000.00 ns, 34.1111 ns/op +WorkloadResult 9: 16777216 op, 600122000.00 ns, 35.7701 ns/op +WorkloadResult 10: 16777216 op, 558137700.00 ns, 33.2676 ns/op +WorkloadResult 11: 16777216 op, 618423500.00 ns, 36.8609 ns/op +WorkloadResult 12: 16777216 op, 588334400.00 ns, 35.0675 ns/op +WorkloadResult 13: 16777216 op, 576280500.00 ns, 34.3490 ns/op +WorkloadResult 14: 16777216 op, 575377400.00 ns, 34.2952 ns/op +WorkloadResult 15: 16777216 op, 654535500.00 ns, 39.0134 ns/op +WorkloadResult 16: 16777216 op, 571916700.00 ns, 34.0889 ns/op +WorkloadResult 17: 16777216 op, 603623700.00 ns, 35.9788 ns/op +WorkloadResult 18: 16777216 op, 771542700.00 ns, 45.9875 ns/op +WorkloadResult 19: 16777216 op, 739326300.00 ns, 44.0673 ns/op +WorkloadResult 20: 16777216 op, 642154300.00 ns, 38.2754 ns/op +WorkloadResult 21: 16777216 op, 614303400.00 ns, 36.6153 ns/op +WorkloadResult 22: 16777216 op, 680041500.00 ns, 40.5336 ns/op +WorkloadResult 23: 16777216 op, 601773900.00 ns, 35.8685 ns/op +WorkloadResult 24: 16777216 op, 635895100.00 ns, 37.9023 ns/op +WorkloadResult 25: 16777216 op, 606009900.00 ns, 36.1210 ns/op +WorkloadResult 26: 16777216 op, 682088000.00 ns, 40.6556 ns/op +WorkloadResult 27: 16777216 op, 592062000.00 ns, 35.2896 ns/op +WorkloadResult 28: 16777216 op, 574458300.00 ns, 34.2404 ns/op +WorkloadResult 29: 16777216 op, 592193600.00 ns, 35.2975 ns/op +WorkloadResult 30: 16777216 op, 592352200.00 ns, 35.3069 ns/op +WorkloadResult 31: 16777216 op, 570157200.00 ns, 33.9840 ns/op +WorkloadResult 32: 16777216 op, 575861100.00 ns, 34.3240 ns/op +WorkloadResult 33: 16777216 op, 578624200.00 ns, 34.4887 ns/op +WorkloadResult 34: 16777216 op, 796189700.00 ns, 47.4566 ns/op +WorkloadResult 35: 16777216 op, 676242000.00 ns, 40.3072 ns/op +WorkloadResult 36: 16777216 op, 653364000.00 ns, 38.9435 ns/op +WorkloadResult 37: 16777216 op, 576465700.00 ns, 34.3600 ns/op +WorkloadResult 38: 16777216 op, 593847700.00 ns, 35.3961 ns/op +WorkloadResult 39: 16777216 op, 583736900.00 ns, 34.7934 ns/op +WorkloadResult 40: 16777216 op, 592190000.00 ns, 35.2973 ns/op +WorkloadResult 41: 16777216 op, 589939300.00 ns, 35.1631 ns/op +WorkloadResult 42: 16777216 op, 583936000.00 ns, 34.8053 ns/op +WorkloadResult 43: 16777216 op, 587016700.00 ns, 34.9889 ns/op +WorkloadResult 44: 16777216 op, 580603400.00 ns, 34.6067 ns/op +WorkloadResult 45: 16777216 op, 621913700.00 ns, 37.0689 ns/op +WorkloadResult 46: 16777216 op, 590789400.00 ns, 35.2138 ns/op +WorkloadResult 47: 16777216 op, 586994400.00 ns, 34.9876 ns/op +WorkloadResult 48: 16777216 op, 589970900.00 ns, 35.1650 ns/op +WorkloadResult 49: 16777216 op, 692532400.00 ns, 41.2781 ns/op +WorkloadResult 50: 16777216 op, 819293100.00 ns, 48.8337 ns/op +WorkloadResult 51: 16777216 op, 644184600.00 ns, 38.3964 ns/op +WorkloadResult 52: 16777216 op, 575072900.00 ns, 34.2770 ns/op +WorkloadResult 53: 16777216 op, 622982500.00 ns, 37.1327 ns/op +WorkloadResult 54: 16777216 op, 745827300.00 ns, 44.4548 ns/op +WorkloadResult 55: 16777216 op, 727830800.00 ns, 43.3821 ns/op +WorkloadResult 56: 16777216 op, 789018300.00 ns, 47.0292 ns/op +WorkloadResult 57: 16777216 op, 769096700.00 ns, 45.8417 ns/op +WorkloadResult 58: 16777216 op, 714525400.00 ns, 42.5890 ns/op +WorkloadResult 59: 16777216 op, 815477300.00 ns, 48.6062 ns/op +WorkloadResult 60: 16777216 op, 794342700.00 ns, 47.3465 ns/op +WorkloadResult 61: 16777216 op, 894917800.00 ns, 53.3413 ns/op +WorkloadResult 62: 16777216 op, 586822500.00 ns, 34.9773 ns/op +WorkloadResult 63: 16777216 op, 721718100.00 ns, 43.0178 ns/op +WorkloadResult 64: 16777216 op, 783222800.00 ns, 46.6837 ns/op +WorkloadResult 65: 16777216 op, 916351900.00 ns, 54.6188 ns/op +WorkloadResult 66: 16777216 op, 814603300.00 ns, 48.5541 ns/op +WorkloadResult 67: 16777216 op, 821769300.00 ns, 48.9813 ns/op +WorkloadResult 68: 16777216 op, 730016300.00 ns, 43.5124 ns/op +WorkloadResult 69: 16777216 op, 813553900.00 ns, 48.4916 ns/op +WorkloadResult 70: 16777216 op, 878539200.00 ns, 52.3650 ns/op +WorkloadResult 71: 16777216 op, 718876300.00 ns, 42.8484 ns/op +WorkloadResult 72: 16777216 op, 630780700.00 ns, 37.5975 ns/op +WorkloadResult 73: 16777216 op, 623360000.00 ns, 37.1552 ns/op +WorkloadResult 74: 16777216 op, 764610900.00 ns, 45.5744 ns/op +WorkloadResult 75: 16777216 op, 691263000.00 ns, 41.2025 ns/op +WorkloadResult 76: 16777216 op, 608856600.00 ns, 36.2907 ns/op +WorkloadResult 77: 16777216 op, 690247200.00 ns, 41.1419 ns/op +WorkloadResult 78: 16777216 op, 840876700.00 ns, 50.1202 ns/op +WorkloadResult 79: 16777216 op, 767044400.00 ns, 45.7194 ns/op +WorkloadResult 80: 16777216 op, 580477400.00 ns, 34.5991 ns/op +WorkloadResult 81: 16777216 op, 644569200.00 ns, 38.4193 ns/op +WorkloadResult 82: 16777216 op, 590994800.00 ns, 35.2260 ns/op +WorkloadResult 83: 16777216 op, 619939400.00 ns, 36.9513 ns/op +WorkloadResult 84: 16777216 op, 591829600.00 ns, 35.2758 ns/op +WorkloadResult 85: 16777216 op, 582668900.00 ns, 34.7298 ns/op +WorkloadResult 86: 16777216 op, 598283800.00 ns, 35.6605 ns/op +WorkloadResult 87: 16777216 op, 616736700.00 ns, 36.7604 ns/op +WorkloadResult 88: 16777216 op, 712167100.00 ns, 42.4485 ns/op +WorkloadResult 89: 16777216 op, 575531200.00 ns, 34.3043 ns/op +WorkloadResult 90: 16777216 op, 867529300.00 ns, 51.7088 ns/op +WorkloadResult 91: 16777216 op, 921570800.00 ns, 54.9299 ns/op +WorkloadResult 92: 16777216 op, 578024300.00 ns, 34.4529 ns/op +WorkloadResult 93: 16777216 op, 564909200.00 ns, 33.6712 ns/op +WorkloadResult 94: 16777216 op, 567854300.00 ns, 33.8468 ns/op +WorkloadResult 95: 16777216 op, 573181400.00 ns, 34.1643 ns/op +WorkloadResult 96: 16777216 op, 580794900.00 ns, 34.6181 ns/op +WorkloadResult 97: 16777216 op, 569500400.00 ns, 33.9449 ns/op +// GC: 934 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 116352 has exited with code 0. + +Mean = 39.071 ns, StdErr = 0.587 ns (1.50%), N = 97, StdDev = 5.778 ns +Min = 33.268 ns, Q1 = 34.730 ns, Median = 36.121 ns, Q3 = 42.848 ns, Max = 54.930 ns +IQR = 8.119 ns, LowerFence = 22.552 ns, UpperFence = 55.026 ns +ConfidenceInterval = [37.079 ns; 41.062 ns] (CI 99.9%), Margin = 1.992 ns (5.10% of Mean) +Skewness = 1.1, Kurtosis = 3.01, MValue = 2.67 + +// ** Remained 9 (28.1%) benchmark(s) to run. Estimated finish 2026-02-23 19:08 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 8 (25.0%) benchmark(s) to run. Estimated finish 2026-02-23 19:07 (0h 3m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 7 (21.9%) benchmark(s) to run. Estimated finish 2026-02-23 19:06 (0h 3m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 6 (18.8%) benchmark(s) to run. Estimated finish 2026-02-23 19:06 (0h 2m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 5 (15.6%) benchmark(s) to run. Estimated finish 2026-02-23 19:05 (0h 2m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 4 (12.5%) benchmark(s) to run. Estimated finish 2026-02-23 19:05 (0h 1m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 3 (9.4%) benchmark(s) to run. Estimated finish 2026-02-23 19:04 (0h 1m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 2 (6.2%) benchmark(s) to run. Estimated finish 2026-02-23 19:04 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 1 (3.1%) benchmark(s) to run. Estimated finish 2026-02-23 19:03 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'SmallAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'MediumAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'LargeAllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 2 Warning(s) + 6 Error(s) +Time Elapsed 00:00:05.31 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-23 19:03 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.html + +// * Detailed results * +CloneImplementationComparison.SmallArrayClone: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 39.513 ns, StdErr = 0.426 ns (1.08%), N = 98, StdDev = 4.215 ns +Min = 32.985 ns, Q1 = 36.622 ns, Median = 39.082 ns, Q3 = 42.534 ns, Max = 50.386 ns +IQR = 5.912 ns, LowerFence = 27.753 ns, UpperFence = 51.403 ns +ConfidenceInterval = [38.068 ns; 40.958 ns] (CI 99.9%), Margin = 1.445 ns (3.66% of Mean) +Skewness = 0.42, Kurtosis = 2.53, MValue = 3.2 +-------------------- Histogram -------------------- +[32.967 ns ; 35.367 ns) | @@@@@@@@@@@@@@@@@@@ +[35.367 ns ; 36.485 ns) | @@@@ +[36.485 ns ; 38.885 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[38.885 ns ; 42.012 ns) | @@@@@@@@@@@@@@@@@@@@ +[42.012 ns ; 44.412 ns) | @@@@@@@@@@@@@@@@@@ +[44.412 ns ; 47.000 ns) | @@@@@@ +[47.000 ns ; 49.400 ns) | @@@@@ +[49.400 ns ; 51.586 ns) | @ +--------------------------------------------------- + +CloneImplementationComparison.SmallNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 5.422 ns, StdErr = 0.059 ns (1.09%), N = 100, StdDev = 0.589 ns +Min = 4.657 ns, Q1 = 4.979 ns, Median = 5.226 ns, Q3 = 5.814 ns, Max = 7.053 ns +IQR = 0.835 ns, LowerFence = 3.727 ns, UpperFence = 7.066 ns +ConfidenceInterval = [5.222 ns; 5.622 ns] (CI 99.9%), Margin = 0.200 ns (3.69% of Mean) +Skewness = 0.84, Kurtosis = 2.83, MValue = 2.69 +-------------------- Histogram -------------------- +[4.490 ns ; 4.693 ns) | @ +[4.693 ns ; 5.027 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[5.027 ns ; 5.379 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[5.379 ns ; 5.574 ns) | @@@@@@ +[5.574 ns ; 5.908 ns) | @@@@@@@@@@@@@@@@@ +[5.908 ns ; 6.356 ns) | @@@@@@@@@@ +[6.356 ns ; 6.739 ns) | @@@@@@ +[6.739 ns ; 7.114 ns) | @@@ +--------------------------------------------------- + +CloneImplementationComparison.SmallAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 5.016 ns, StdErr = 0.035 ns (0.69%), N = 53, StdDev = 0.252 ns +Min = 4.714 ns, Q1 = 4.817 ns, Median = 4.947 ns, Q3 = 5.163 ns, Max = 5.678 ns +IQR = 0.346 ns, LowerFence = 4.297 ns, UpperFence = 5.683 ns +ConfidenceInterval = [4.896 ns; 5.137 ns] (CI 99.9%), Margin = 0.121 ns (2.40% of Mean) +Skewness = 0.9, Kurtosis = 2.85, MValue = 2 +-------------------- Histogram -------------------- +[4.705 ns ; 4.881 ns) | @@@@@@@@@@@@@@@@@@@@@@@ +[4.881 ns ; 5.086 ns) | @@@@@@@@@@@@@ +[5.086 ns ; 5.323 ns) | @@@@@@@@@ +[5.323 ns ; 5.499 ns) | @@@@@ +[5.499 ns ; 5.714 ns) | @@@ +--------------------------------------------------- + +CloneImplementationComparison.MediumArrayClone: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.537 ns, StdErr = 0.039 ns (0.12%), N = 14, StdDev = 0.145 ns +Min = 33.355 ns, Q1 = 33.441 ns, Median = 33.475 ns, Q3 = 33.629 ns, Max = 33.810 ns +IQR = 0.188 ns, LowerFence = 33.159 ns, UpperFence = 33.911 ns +ConfidenceInterval = [33.374 ns; 33.700 ns] (CI 99.9%), Margin = 0.163 ns (0.49% of Mean) +Skewness = 0.52, Kurtosis = 1.78, MValue = 2 +-------------------- Histogram -------------------- +[33.276 ns ; 33.888 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.MediumNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 8.586 ns, StdErr = 0.050 ns (0.58%), N = 29, StdDev = 0.267 ns +Min = 8.019 ns, Q1 = 8.413 ns, Median = 8.541 ns, Q3 = 8.792 ns, Max = 9.176 ns +IQR = 0.379 ns, LowerFence = 7.844 ns, UpperFence = 9.361 ns +ConfidenceInterval = [8.403 ns; 8.768 ns] (CI 99.9%), Margin = 0.182 ns (2.12% of Mean) +Skewness = 0.12, Kurtosis = 2.71, MValue = 2 +-------------------- Histogram -------------------- +[7.944 ns ; 8.230 ns) | @@ +[8.230 ns ; 8.477 ns) | @@@@@@@ +[8.477 ns ; 8.705 ns) | @@@@@@@@@@@@ +[8.705 ns ; 8.984 ns) | @@@@@@ +[8.984 ns ; 9.232 ns) | @@ +--------------------------------------------------- + +CloneImplementationComparison.MediumAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 8.090 ns, StdErr = 0.045 ns (0.56%), N = 17, StdDev = 0.186 ns +Min = 7.857 ns, Q1 = 7.921 ns, Median = 8.066 ns, Q3 = 8.167 ns, Max = 8.537 ns +IQR = 0.247 ns, LowerFence = 7.551 ns, UpperFence = 8.537 ns +ConfidenceInterval = [7.909 ns; 8.271 ns] (CI 99.9%), Margin = 0.181 ns (2.24% of Mean) +Skewness = 0.73, Kurtosis = 2.72, MValue = 2 +-------------------- Histogram -------------------- +[7.809 ns ; 8.012 ns) | @@@@@@ +[8.012 ns ; 8.202 ns) | @@@@@@@@ +[8.202 ns ; 8.427 ns) | @@ +[8.427 ns ; 8.632 ns) | @ +--------------------------------------------------- + +CloneImplementationComparison.LargeArrayClone: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 52.584 ns, StdErr = 0.257 ns (0.49%), N = 15, StdDev = 0.997 ns +Min = 51.399 ns, Q1 = 51.725 ns, Median = 52.492 ns, Q3 = 53.397 ns, Max = 54.370 ns +IQR = 1.673 ns, LowerFence = 49.216 ns, UpperFence = 55.906 ns +ConfidenceInterval = [51.518 ns; 53.650 ns] (CI 99.9%), Margin = 1.066 ns (2.03% of Mean) +Skewness = 0.38, Kurtosis = 1.55, MValue = 2 +-------------------- Histogram -------------------- +[50.868 ns ; 52.504 ns) | @@@@@@@@@ +[52.504 ns ; 54.901 ns) | @@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.LargeNewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.888 ns, StdErr = 0.187 ns (0.55%), N = 30, StdDev = 1.022 ns +Min = 32.514 ns, Q1 = 33.054 ns, Median = 33.707 ns, Q3 = 34.906 ns, Max = 35.788 ns +IQR = 1.852 ns, LowerFence = 30.276 ns, UpperFence = 37.683 ns +ConfidenceInterval = [33.205 ns; 34.570 ns] (CI 99.9%), Margin = 0.683 ns (2.01% of Mean) +Skewness = 0.36, Kurtosis = 1.7, MValue = 2 +-------------------- Histogram -------------------- +[32.439 ns ; 33.302 ns) | @@@@@@@@@@@@ +[33.302 ns ; 34.387 ns) | @@@@@@@@@ +[34.387 ns ; 36.219 ns) | @@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.LargeAllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 39.071 ns, StdErr = 0.587 ns (1.50%), N = 97, StdDev = 5.778 ns +Min = 33.268 ns, Q1 = 34.730 ns, Median = 36.121 ns, Q3 = 42.848 ns, Max = 54.930 ns +IQR = 8.119 ns, LowerFence = 22.552 ns, UpperFence = 55.026 ns +ConfidenceInterval = [37.079 ns; 41.062 ns] (CI 99.9%), Margin = 1.992 ns (5.10% of Mean) +Skewness = 1.1, Kurtosis = 3.01, MValue = 2.67 +-------------------- Histogram -------------------- +[31.617 ns ; 33.876 ns) | @@@ +[33.876 ns ; 37.177 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[37.177 ns ; 40.259 ns) | @@@@@@@ +[40.259 ns ; 43.560 ns) | @@@@@@@@@@@@ +[43.560 ns ; 45.553 ns) | @@ +[45.553 ns ; 48.855 ns) | @@@@@@@@@@@@ +[48.855 ns ; 51.669 ns) | @@ +[51.669 ns ; 54.970 ns) | @@@@@ +--------------------------------------------------- + +CloneImplementationComparison.SmallArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.SmallNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.SmallAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.MediumArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.MediumNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.MediumAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.LargeArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.LargeNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +CloneImplementationComparison.LargeAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + + +| Method | Job | Runtime | Mean | Ratio | RatioSD | Gen0 | Gen1 | Allocated | Alloc Ratio | +|--------------------------- |--------------------- |--------------------- |----------:|------:|--------:|-------:|-------:|----------:|------------:| +| SmallArrayClone | .NET 10.0 | .NET 10.0 | 39.513 ns | 1.01 | 0.15 | 0.0021 | - | 40 B | 1.00 | +| SmallNewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 5.422 ns | 0.14 | 0.02 | 0.0021 | - | 40 B | 1.00 | +| SmallAllocUninitBlockCopy | .NET 10.0 | .NET 10.0 | 5.016 ns | 0.13 | 0.01 | 0.0021 | - | 40 B | 1.00 | +| MediumArrayClone | .NET 10.0 | .NET 10.0 | 33.537 ns | 0.86 | 0.09 | 0.0080 | - | 152 B | 3.80 | +| MediumNewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 8.586 ns | 0.22 | 0.02 | 0.0081 | - | 152 B | 3.80 | +| MediumAllocUninitBlockCopy | .NET 10.0 | .NET 10.0 | 8.090 ns | 0.21 | 0.02 | 0.0081 | - | 152 B | 3.80 | +| LargeArrayClone | .NET 10.0 | .NET 10.0 | 52.584 ns | 1.35 | 0.14 | 0.0555 | 0.0002 | 1048 B | 26.20 | +| LargeNewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 33.888 ns | 0.87 | 0.09 | 0.0557 | 0.0002 | 1048 B | 26.20 | +| LargeAllocUninitBlockCopy | .NET 10.0 | .NET 10.0 | 39.071 ns | 1.00 | 0.18 | 0.0557 | 0.0002 | 1048 B | 26.20 | +| | | | | | | | | | | +| SmallArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| SmallNewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| SmallAllocUninitBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| MediumArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| MediumNewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| MediumAllocUninitBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| LargeArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| LargeNewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | +| LargeAllocUninitBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | ? | ? | NA | NA | NA | ? | + +Benchmarks with issues: + CloneImplementationComparison.SmallArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.SmallNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.SmallAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.MediumArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.MediumNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.MediumAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.LargeArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.LargeNewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + CloneImplementationComparison.LargeAllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + +// * Warnings * +MultimodalDistribution + CloneImplementationComparison.SmallArrayClone: .NET 10.0 -> It seems that the distribution can have several modes (mValue = 3.2) +BaselineCustomAnalyzer + Summary -> A question mark '?' symbol indicates that it was not possible to compute the (Ratio, RatioSD, Alloc Ratio) column(s) because the baseline or benchmark could not be found, or the baseline value is too close to zero. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + CloneImplementationComparison.SmallArrayClone: .NET 10.0 -> 2 outliers were removed (59.12 ns, 64.85 ns) + CloneImplementationComparison.MediumArrayClone: .NET 10.0 -> 1 outlier was removed (36.49 ns) + CloneImplementationComparison.MediumNewArrayBlockCopy: .NET 10.0 -> 1 outlier was removed (10.42 ns) + CloneImplementationComparison.MediumAllocUninitBlockCopy: .NET 10.0 -> 1 outlier was removed (9.62 ns) + CloneImplementationComparison.LargeArrayClone: .NET 10.0 -> 2 outliers were removed (63.92 ns, 64.57 ns) + CloneImplementationComparison.LargeNewArrayBlockCopy: .NET 10.0 -> 1 outlier was removed (40.07 ns) + CloneImplementationComparison.LargeAllocUninitBlockCopy: .NET 10.0 -> 3 outliers were removed (59.86 ns..66.39 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + Ratio : Mean of the ratio distribution ([Current]/[Baseline]) + RatioSD : Standard deviation of the ratio distribution ([Current]/[Baseline]) + Gen0 : GC Generation 0 collects per 1000 operations + Gen1 : GC Generation 1 collects per 1000 operations + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + Alloc Ratio : Allocated memory ratio distribution ([Current]/[Baseline]) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:07:06 (426.17 sec), executed benchmarks: 9 + +Global total time: 00:12:15 (735.29 sec), executed benchmarks: 16 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-194327.log b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-194327.log new file mode 100644 index 000000000..d7bbee8e9 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-194327.log @@ -0,0 +1,2848 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 32 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.96 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 4.76 sec and exited with 0 +// ***** Done, took 00:00:05 (5.78 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.91 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 3.41 sec and exited with 1 +// ***** Done, took 00:00:04 (4.35 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1736 2452 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 82000.00 ns, 82.0000 us/op +WorkloadJitting 1: 1 op, 240500.00 ns, 240.5000 us/op + +OverheadWarmup 1: 1 op, 400.00 ns, 400.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadWarmup 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 5: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 9: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 10: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 12: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 13: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 16: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 17: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 18: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 19: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 21: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 28: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 29: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 30: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 33: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 34: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 39: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 40: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 41: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 43: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 45: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 47: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 49: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 50: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 51: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 52: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 53: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 56: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 57: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 58: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 59: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 60: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 61: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 63: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 65: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 66: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 71: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 73: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 76: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 78: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 79: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 80: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 81: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 82: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 83: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 84: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 85: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 87: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 88: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 90: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 92: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 93: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 95: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 96: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 97: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 98: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 99: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 100: 1 op, 800.00 ns, 800.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 9: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 15: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 16: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 17: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 26: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 27: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 42: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 45: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 46: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 47: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 48: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 49: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 51: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 52: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 53: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 54: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 57: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 59: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 62: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 63: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 65: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 66: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 67: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 68: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 69: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 72: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 74: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 75: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 77: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 78: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 80: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 81: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 85: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 87: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 88: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 90: 1 op, 700.00 ns, 700.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 101392 has exited with code 0. + +Mean = 776.667 ns, StdErr = 17.313 ns (2.23%), N = 90, StdDev = 164.248 ns +Min = 600.000 ns, Q1 = 700.000 ns, Median = 700.000 ns, Q3 = 800.000 ns, Max = 1,200.000 ns +IQR = 100.000 ns, LowerFence = 550.000 ns, UpperFence = 950.000 ns +ConfidenceInterval = [717.746 ns; 835.588 ns] (CI 99.9%), Margin = 58.921 ns (7.59% of Mean) +Skewness = 1.15, Kurtosis = 3.58, MValue = 4.67 + +// ** Remained 31 (96.9%) benchmark(s) to run. Estimated finish 2026-02-23 19:43 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2328 1712 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 107300.00 ns, 107.3000 us/op +WorkloadJitting 1: 1 op, 1121600.00 ns, 1.1216 ms/op + +OverheadWarmup 1: 1 op, 400.00 ns, 400.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadWarmup 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 7: 1 op, 400.00 ns, 400.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 18: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 20: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 27: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 31: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 39: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 44: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 45: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 46: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 47: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 51: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 52: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 53: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 54: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 55: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 56: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 57: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 58: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 62: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 65: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 68: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 70: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 71: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 74: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 75: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 76: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 77: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 78: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 79: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 80: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 81: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 82: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 84: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 86: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 87: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 88: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 89: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 90: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 91: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 95: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 96: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 98: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 100: 1 op, 600.00 ns, 600.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 15: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 16: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 18: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 25: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 27: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 30: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 33: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 38: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 42: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 43: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 45: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 48: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 51: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 52: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 53: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 54: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 55: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 56: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 59: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 60: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 69: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 71: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 73: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 74: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 75: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 76: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 78: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 79: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 80: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 81: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 82: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 83: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 84: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 85: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 86: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 87: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 88: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 90: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 91: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 93: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 95: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 96: 1 op, 500.00 ns, 500.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 119084 has exited with code 0. + +Mean = 431.250 ns, StdErr = 13.837 ns (3.21%), N = 96, StdDev = 135.579 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 800.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [384.259 ns; 478.241 ns] (CI 99.9%), Margin = 46.991 ns (10.90% of Mean) +Skewness = 0.83, Kurtosis = 2.96, MValue = 2.22 + +// ** Remained 30 (93.8%) benchmark(s) to run. Estimated finish 2026-02-23 19:43 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 1 Warning(s) + 6 Error(s) +Time Elapsed 00:00:03.22 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 29 (90.6%) benchmark(s) to run. Estimated finish 2026-02-23 19:43 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 1 Warning(s) + 6 Error(s) +Time Elapsed 00:00:03.22 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 28 (87.5%) benchmark(s) to run. Estimated finish 2026-02-23 19:43 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 776.667 ns, StdErr = 17.313 ns (2.23%), N = 90, StdDev = 164.248 ns +Min = 600.000 ns, Q1 = 700.000 ns, Median = 700.000 ns, Q3 = 800.000 ns, Max = 1,200.000 ns +IQR = 100.000 ns, LowerFence = 550.000 ns, UpperFence = 950.000 ns +ConfidenceInterval = [717.746 ns; 835.588 ns] (CI 99.9%), Margin = 58.921 ns (7.59% of Mean) +Skewness = 1.15, Kurtosis = 3.58, MValue = 4.67 +-------------------- Histogram -------------------- +[ 551.895 ns ; 651.895 ns) | @@@@@@@@@@@@@@@@@@ +[ 651.895 ns ; 748.105 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 748.105 ns ; 848.105 ns) | @@@@@@@@@@@@@@@@@@ +[ 848.105 ns ; 948.105 ns) | @@@@@@@@ +[ 948.105 ns ; 1,048.105 ns) | @@@@ +[1,048.105 ns ; 1,151.895 ns) | @@@@ +[1,151.895 ns ; 1,248.105 ns) | @@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 431.250 ns, StdErr = 13.837 ns (3.21%), N = 96, StdDev = 135.579 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 800.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [384.259 ns; 478.241 ns] (CI 99.9%), Margin = 46.991 ns (10.90% of Mean) +Skewness = 0.83, Kurtosis = 2.96, MValue = 2.22 +-------------------- Histogram -------------------- +[261.137 ns ; 361.137 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[361.137 ns ; 438.863 ns) | @@@@@@@@@@@@@@@@@@@ +[438.863 ns ; 538.863 ns) | @@@@@@@@@@@@@@@@@@@@@@@ +[538.863 ns ; 638.863 ns) | @@@@@@@@@@ +[638.863 ns ; 738.863 ns) | @@@@ +[738.863 ns ; 838.863 ns) | @@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = ; GC = +There are not any results runs + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = ; GC = +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |---------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 776.7 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 431.2 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | NA | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | NA | + +Benchmarks with issues: + AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 4.67) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 700ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 400ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 10 outliers were removed (1.40 μs..2.50 μs) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> 4 outliers were removed (1.00 μs..1.00 μs) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:00 (0.99 sec), executed benchmarks: 2 + +// Found 10 benchmarks: +// ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2576 2584 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneSmall16Bytes --job ".NET 10.0" --benchmarkId 2 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 80400.00 ns, 80.4000 us/op +WorkloadJitting 1: 1 op, 930400.00 ns, 930.4000 us/op + +OverheadJitting 2: 16 op, 126400.00 ns, 7.9000 us/op +WorkloadJitting 2: 16 op, 126700.00 ns, 7.9188 us/op + +WorkloadPilot 1: 16 op, 3300.00 ns, 206.2500 ns/op +WorkloadPilot 2: 32 op, 2500.00 ns, 78.1250 ns/op +WorkloadPilot 3: 64 op, 3300.00 ns, 51.5625 ns/op +WorkloadPilot 4: 128 op, 5500.00 ns, 42.9688 ns/op +WorkloadPilot 5: 256 op, 15000.00 ns, 58.5938 ns/op +WorkloadPilot 6: 512 op, 21500.00 ns, 41.9922 ns/op +WorkloadPilot 7: 1024 op, 55000.00 ns, 53.7109 ns/op +WorkloadPilot 8: 2048 op, 94500.00 ns, 46.1426 ns/op +WorkloadPilot 9: 4096 op, 197800.00 ns, 48.2910 ns/op +WorkloadPilot 10: 8192 op, 410500.00 ns, 50.1099 ns/op +WorkloadPilot 11: 16384 op, 816300.00 ns, 49.8230 ns/op +WorkloadPilot 12: 32768 op, 1543200.00 ns, 47.0947 ns/op +WorkloadPilot 13: 65536 op, 3632200.00 ns, 55.4230 ns/op +WorkloadPilot 14: 131072 op, 7269600.00 ns, 55.4626 ns/op +WorkloadPilot 15: 262144 op, 15972300.00 ns, 60.9295 ns/op +WorkloadPilot 16: 524288 op, 29366300.00 ns, 56.0118 ns/op +WorkloadPilot 17: 1048576 op, 62695500.00 ns, 59.7911 ns/op +WorkloadPilot 18: 2097152 op, 97683200.00 ns, 46.5790 ns/op +WorkloadPilot 19: 4194304 op, 171061100.00 ns, 40.7841 ns/op +WorkloadPilot 20: 8388608 op, 290208900.00 ns, 34.5956 ns/op +WorkloadPilot 21: 16777216 op, 579964400.00 ns, 34.5686 ns/op + +OverheadWarmup 1: 16777216 op, 25297300.00 ns, 1.5078 ns/op +OverheadWarmup 2: 16777216 op, 25888800.00 ns, 1.5431 ns/op +OverheadWarmup 3: 16777216 op, 26439900.00 ns, 1.5759 ns/op +OverheadWarmup 4: 16777216 op, 25304600.00 ns, 1.5083 ns/op +OverheadWarmup 5: 16777216 op, 25291500.00 ns, 1.5075 ns/op +OverheadWarmup 6: 16777216 op, 25882900.00 ns, 1.5427 ns/op +OverheadWarmup 7: 16777216 op, 25496900.00 ns, 1.5197 ns/op + +OverheadActual 1: 16777216 op, 25801200.00 ns, 1.5379 ns/op +OverheadActual 2: 16777216 op, 25309500.00 ns, 1.5086 ns/op +OverheadActual 3: 16777216 op, 25289500.00 ns, 1.5074 ns/op +OverheadActual 4: 16777216 op, 25305700.00 ns, 1.5083 ns/op +OverheadActual 5: 16777216 op, 25324900.00 ns, 1.5095 ns/op +OverheadActual 6: 16777216 op, 25338700.00 ns, 1.5103 ns/op +OverheadActual 7: 16777216 op, 25710900.00 ns, 1.5325 ns/op +OverheadActual 8: 16777216 op, 25586500.00 ns, 1.5251 ns/op +OverheadActual 9: 16777216 op, 25292500.00 ns, 1.5076 ns/op +OverheadActual 10: 16777216 op, 21231200.00 ns, 1.2655 ns/op +OverheadActual 11: 16777216 op, 18071200.00 ns, 1.0771 ns/op +OverheadActual 12: 16777216 op, 17614400.00 ns, 1.0499 ns/op +OverheadActual 13: 16777216 op, 18823300.00 ns, 1.1220 ns/op +OverheadActual 14: 16777216 op, 17612200.00 ns, 1.0498 ns/op +OverheadActual 15: 16777216 op, 18227600.00 ns, 1.0864 ns/op +OverheadActual 16: 16777216 op, 17614700.00 ns, 1.0499 ns/op +OverheadActual 17: 16777216 op, 17628500.00 ns, 1.0507 ns/op +OverheadActual 18: 16777216 op, 17640400.00 ns, 1.0514 ns/op +OverheadActual 19: 16777216 op, 17608700.00 ns, 1.0496 ns/op +OverheadActual 20: 16777216 op, 17962200.00 ns, 1.0706 ns/op + +WorkloadWarmup 1: 16777216 op, 582225600.00 ns, 34.7034 ns/op +WorkloadWarmup 2: 16777216 op, 573849300.00 ns, 34.2041 ns/op +WorkloadWarmup 3: 16777216 op, 571632500.00 ns, 34.0720 ns/op +WorkloadWarmup 4: 16777216 op, 588554600.00 ns, 35.0806 ns/op +WorkloadWarmup 5: 16777216 op, 656528300.00 ns, 39.1321 ns/op +WorkloadWarmup 6: 16777216 op, 608635000.00 ns, 36.2775 ns/op +WorkloadWarmup 7: 16777216 op, 633403900.00 ns, 37.7538 ns/op +WorkloadWarmup 8: 16777216 op, 570455600.00 ns, 34.0018 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 612002000.00 ns, 36.4782 ns/op +WorkloadActual 2: 16777216 op, 594303300.00 ns, 35.4232 ns/op +WorkloadActual 3: 16777216 op, 602202100.00 ns, 35.8940 ns/op +WorkloadActual 4: 16777216 op, 582412200.00 ns, 34.7145 ns/op +WorkloadActual 5: 16777216 op, 582880700.00 ns, 34.7424 ns/op +WorkloadActual 6: 16777216 op, 611816600.00 ns, 36.4671 ns/op +WorkloadActual 7: 16777216 op, 615776900.00 ns, 36.7032 ns/op +WorkloadActual 8: 16777216 op, 611247100.00 ns, 36.4332 ns/op +WorkloadActual 9: 16777216 op, 596760300.00 ns, 35.5697 ns/op +WorkloadActual 10: 16777216 op, 676804900.00 ns, 40.3407 ns/op +WorkloadActual 11: 16777216 op, 624503300.00 ns, 37.2233 ns/op +WorkloadActual 12: 16777216 op, 580470700.00 ns, 34.5987 ns/op +WorkloadActual 13: 16777216 op, 706475900.00 ns, 42.1092 ns/op +WorkloadActual 14: 16777216 op, 634273600.00 ns, 37.8057 ns/op +WorkloadActual 15: 16777216 op, 583860800.00 ns, 34.8008 ns/op +WorkloadActual 16: 16777216 op, 583675900.00 ns, 34.7898 ns/op +WorkloadActual 17: 16777216 op, 582959200.00 ns, 34.7471 ns/op +WorkloadActual 18: 16777216 op, 583379500.00 ns, 34.7721 ns/op +WorkloadActual 19: 16777216 op, 598592700.00 ns, 35.6789 ns/op +WorkloadActual 20: 16777216 op, 600050500.00 ns, 35.7658 ns/op +WorkloadActual 21: 16777216 op, 587455200.00 ns, 35.0151 ns/op +WorkloadActual 22: 16777216 op, 595779200.00 ns, 35.5112 ns/op +WorkloadActual 23: 16777216 op, 593461500.00 ns, 35.3731 ns/op +WorkloadActual 24: 16777216 op, 585289200.00 ns, 34.8860 ns/op +WorkloadActual 25: 16777216 op, 581241900.00 ns, 34.6447 ns/op +WorkloadActual 26: 16777216 op, 584551700.00 ns, 34.8420 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 591974750.00 ns, 35.2844 ns/op +WorkloadResult 2: 16777216 op, 574276050.00 ns, 34.2295 ns/op +WorkloadResult 3: 16777216 op, 582174850.00 ns, 34.7003 ns/op +WorkloadResult 4: 16777216 op, 562384950.00 ns, 33.5208 ns/op +WorkloadResult 5: 16777216 op, 562853450.00 ns, 33.5487 ns/op +WorkloadResult 6: 16777216 op, 591789350.00 ns, 35.2734 ns/op +WorkloadResult 7: 16777216 op, 595749650.00 ns, 35.5094 ns/op +WorkloadResult 8: 16777216 op, 591219850.00 ns, 35.2394 ns/op +WorkloadResult 9: 16777216 op, 576733050.00 ns, 34.3760 ns/op +WorkloadResult 10: 16777216 op, 604476050.00 ns, 36.0296 ns/op +WorkloadResult 11: 16777216 op, 560443450.00 ns, 33.4050 ns/op +WorkloadResult 12: 16777216 op, 614246350.00 ns, 36.6119 ns/op +WorkloadResult 13: 16777216 op, 563833550.00 ns, 33.6071 ns/op +WorkloadResult 14: 16777216 op, 563648650.00 ns, 33.5961 ns/op +WorkloadResult 15: 16777216 op, 562931950.00 ns, 33.5534 ns/op +WorkloadResult 16: 16777216 op, 563352250.00 ns, 33.5784 ns/op +WorkloadResult 17: 16777216 op, 578565450.00 ns, 34.4852 ns/op +WorkloadResult 18: 16777216 op, 580023250.00 ns, 34.5721 ns/op +WorkloadResult 19: 16777216 op, 567427950.00 ns, 33.8213 ns/op +WorkloadResult 20: 16777216 op, 575751950.00 ns, 34.3175 ns/op +WorkloadResult 21: 16777216 op, 573434250.00 ns, 34.1793 ns/op +WorkloadResult 22: 16777216 op, 565261950.00 ns, 33.6922 ns/op +WorkloadResult 23: 16777216 op, 561214650.00 ns, 33.4510 ns/op +WorkloadResult 24: 16777216 op, 564524450.00 ns, 33.6483 ns/op +// GC: 35 0 0 671088640 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 102536 has exited with code 0. + +Mean = 34.343 ns, StdErr = 0.184 ns (0.53%), N = 24, StdDev = 0.900 ns +Min = 33.405 ns, Q1 = 33.592 ns, Median = 34.204 ns, Q3 = 34.835 ns, Max = 36.612 ns +IQR = 1.243 ns, LowerFence = 31.726 ns, UpperFence = 36.700 ns +ConfidenceInterval = [33.651 ns; 35.035 ns] (CI 99.9%), Margin = 0.692 ns (2.01% of Mean) +Skewness = 0.88, Kurtosis = 2.72, MValue = 2 + +// ** Remained 27 (84.4%) benchmark(s) to run. Estimated finish 2026-02-23 19:46 (0h 2m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2592 2632 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneMedium128Bytes --job ".NET 10.0" --benchmarkId 3 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 88800.00 ns, 88.8000 us/op +WorkloadJitting 1: 1 op, 814400.00 ns, 814.4000 us/op + +OverheadJitting 2: 16 op, 135700.00 ns, 8.4813 us/op +WorkloadJitting 2: 16 op, 126400.00 ns, 7.9000 us/op + +WorkloadPilot 1: 16 op, 2700.00 ns, 168.7500 ns/op +WorkloadPilot 2: 32 op, 2500.00 ns, 78.1250 ns/op +WorkloadPilot 3: 64 op, 3300.00 ns, 51.5625 ns/op +WorkloadPilot 4: 128 op, 7500.00 ns, 58.5938 ns/op +WorkloadPilot 5: 256 op, 22100.00 ns, 86.3281 ns/op +WorkloadPilot 6: 512 op, 37400.00 ns, 73.0469 ns/op +WorkloadPilot 7: 1024 op, 64000.00 ns, 62.5000 ns/op +WorkloadPilot 8: 2048 op, 145100.00 ns, 70.8496 ns/op +WorkloadPilot 9: 4096 op, 321500.00 ns, 78.4912 ns/op +WorkloadPilot 10: 8192 op, 583000.00 ns, 71.1670 ns/op +WorkloadPilot 11: 16384 op, 1233100.00 ns, 75.2625 ns/op +WorkloadPilot 12: 32768 op, 2343100.00 ns, 71.5057 ns/op +WorkloadPilot 13: 65536 op, 4708200.00 ns, 71.8414 ns/op +WorkloadPilot 14: 131072 op, 8297200.00 ns, 63.3026 ns/op +WorkloadPilot 15: 262144 op, 10507700.00 ns, 40.0837 ns/op +WorkloadPilot 16: 524288 op, 23135200.00 ns, 44.1269 ns/op +WorkloadPilot 17: 1048576 op, 44986800.00 ns, 42.9028 ns/op +WorkloadPilot 18: 2097152 op, 106174700.00 ns, 50.6280 ns/op +WorkloadPilot 19: 4194304 op, 166350100.00 ns, 39.6610 ns/op +WorkloadPilot 20: 8388608 op, 368348500.00 ns, 43.9106 ns/op +WorkloadPilot 21: 16777216 op, 721800100.00 ns, 43.0226 ns/op + +OverheadWarmup 1: 16777216 op, 25484700.00 ns, 1.5190 ns/op +OverheadWarmup 2: 16777216 op, 26004200.00 ns, 1.5500 ns/op +OverheadWarmup 3: 16777216 op, 25628200.00 ns, 1.5276 ns/op +OverheadWarmup 4: 16777216 op, 25447000.00 ns, 1.5168 ns/op +OverheadWarmup 5: 16777216 op, 25938900.00 ns, 1.5461 ns/op +OverheadWarmup 6: 16777216 op, 25472500.00 ns, 1.5183 ns/op + +OverheadActual 1: 16777216 op, 25436400.00 ns, 1.5161 ns/op +OverheadActual 2: 16777216 op, 26123700.00 ns, 1.5571 ns/op +OverheadActual 3: 16777216 op, 25562200.00 ns, 1.5236 ns/op +OverheadActual 4: 16777216 op, 25454700.00 ns, 1.5172 ns/op +OverheadActual 5: 16777216 op, 25855500.00 ns, 1.5411 ns/op +OverheadActual 6: 16777216 op, 25453300.00 ns, 1.5171 ns/op +OverheadActual 7: 16777216 op, 25433200.00 ns, 1.5159 ns/op +OverheadActual 8: 16777216 op, 26693300.00 ns, 1.5910 ns/op +OverheadActual 9: 16777216 op, 29379000.00 ns, 1.7511 ns/op +OverheadActual 10: 16777216 op, 27784700.00 ns, 1.6561 ns/op +OverheadActual 11: 16777216 op, 17828200.00 ns, 1.0626 ns/op +OverheadActual 12: 16777216 op, 17765300.00 ns, 1.0589 ns/op +OverheadActual 13: 16777216 op, 17743800.00 ns, 1.0576 ns/op +OverheadActual 14: 16777216 op, 17732300.00 ns, 1.0569 ns/op +OverheadActual 15: 16777216 op, 17760500.00 ns, 1.0586 ns/op +OverheadActual 16: 16777216 op, 17728500.00 ns, 1.0567 ns/op +OverheadActual 17: 16777216 op, 17723400.00 ns, 1.0564 ns/op +OverheadActual 18: 16777216 op, 17718500.00 ns, 1.0561 ns/op +OverheadActual 19: 16777216 op, 17825900.00 ns, 1.0625 ns/op +OverheadActual 20: 16777216 op, 17762000.00 ns, 1.0587 ns/op + +WorkloadWarmup 1: 16777216 op, 655740500.00 ns, 39.0852 ns/op +WorkloadWarmup 2: 16777216 op, 639442500.00 ns, 38.1137 ns/op +WorkloadWarmup 3: 16777216 op, 627451700.00 ns, 37.3990 ns/op +WorkloadWarmup 4: 16777216 op, 711072500.00 ns, 42.3832 ns/op +WorkloadWarmup 5: 16777216 op, 808525700.00 ns, 48.1919 ns/op +WorkloadWarmup 6: 16777216 op, 737325300.00 ns, 43.9480 ns/op +WorkloadWarmup 7: 16777216 op, 631990700.00 ns, 37.6696 ns/op +WorkloadWarmup 8: 16777216 op, 628587900.00 ns, 37.4668 ns/op +WorkloadWarmup 9: 16777216 op, 730518800.00 ns, 43.5423 ns/op +WorkloadWarmup 10: 16777216 op, 826182600.00 ns, 49.2443 ns/op +WorkloadWarmup 11: 16777216 op, 679111400.00 ns, 40.4782 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 811452400.00 ns, 48.3663 ns/op +WorkloadActual 2: 16777216 op, 885211200.00 ns, 52.7627 ns/op +WorkloadActual 3: 16777216 op, 730995000.00 ns, 43.5707 ns/op +WorkloadActual 4: 16777216 op, 703806400.00 ns, 41.9501 ns/op +WorkloadActual 5: 16777216 op, 686406400.00 ns, 40.9130 ns/op +WorkloadActual 6: 16777216 op, 773272500.00 ns, 46.0906 ns/op +WorkloadActual 7: 16777216 op, 965712500.00 ns, 57.5610 ns/op +WorkloadActual 8: 16777216 op, 1004490600.00 ns, 59.8723 ns/op +WorkloadActual 9: 16777216 op, 1105526200.00 ns, 65.8945 ns/op +WorkloadActual 10: 16777216 op, 900734100.00 ns, 53.6879 ns/op +WorkloadActual 11: 16777216 op, 1033739700.00 ns, 61.6157 ns/op +WorkloadActual 12: 16777216 op, 711774700.00 ns, 42.4251 ns/op +WorkloadActual 13: 16777216 op, 680007200.00 ns, 40.5316 ns/op +WorkloadActual 14: 16777216 op, 841564500.00 ns, 50.1612 ns/op +WorkloadActual 15: 16777216 op, 818675300.00 ns, 48.7969 ns/op +WorkloadActual 16: 16777216 op, 834936500.00 ns, 49.7661 ns/op +WorkloadActual 17: 16777216 op, 716080600.00 ns, 42.6817 ns/op +WorkloadActual 18: 16777216 op, 697500500.00 ns, 41.5743 ns/op +WorkloadActual 19: 16777216 op, 835696700.00 ns, 49.8114 ns/op +WorkloadActual 20: 16777216 op, 694469200.00 ns, 41.3936 ns/op +WorkloadActual 21: 16777216 op, 629183700.00 ns, 37.5023 ns/op +WorkloadActual 22: 16777216 op, 637558900.00 ns, 38.0015 ns/op +WorkloadActual 23: 16777216 op, 704444800.00 ns, 41.9882 ns/op +WorkloadActual 24: 16777216 op, 752386500.00 ns, 44.8457 ns/op +WorkloadActual 25: 16777216 op, 809337300.00 ns, 48.2403 ns/op +WorkloadActual 26: 16777216 op, 727538900.00 ns, 43.3647 ns/op +WorkloadActual 27: 16777216 op, 636221000.00 ns, 37.9217 ns/op +WorkloadActual 28: 16777216 op, 627130400.00 ns, 37.3799 ns/op +WorkloadActual 29: 16777216 op, 653560700.00 ns, 38.9553 ns/op +WorkloadActual 30: 16777216 op, 823615800.00 ns, 49.0913 ns/op +WorkloadActual 31: 16777216 op, 775106900.00 ns, 46.2000 ns/op +WorkloadActual 32: 16777216 op, 626445900.00 ns, 37.3391 ns/op +WorkloadActual 33: 16777216 op, 629805300.00 ns, 37.5393 ns/op +WorkloadActual 34: 16777216 op, 628718500.00 ns, 37.4745 ns/op +WorkloadActual 35: 16777216 op, 804314800.00 ns, 47.9409 ns/op +WorkloadActual 36: 16777216 op, 843720000.00 ns, 50.2896 ns/op +WorkloadActual 37: 16777216 op, 725752500.00 ns, 43.2582 ns/op +WorkloadActual 38: 16777216 op, 675052800.00 ns, 40.2363 ns/op +WorkloadActual 39: 16777216 op, 721344400.00 ns, 42.9955 ns/op +WorkloadActual 40: 16777216 op, 713975500.00 ns, 42.5563 ns/op +WorkloadActual 41: 16777216 op, 846848700.00 ns, 50.4761 ns/op +WorkloadActual 42: 16777216 op, 747306900.00 ns, 44.5430 ns/op +WorkloadActual 43: 16777216 op, 795162800.00 ns, 47.3954 ns/op +WorkloadActual 44: 16777216 op, 640655000.00 ns, 38.1860 ns/op +WorkloadActual 45: 16777216 op, 660692000.00 ns, 39.3803 ns/op +WorkloadActual 46: 16777216 op, 766434500.00 ns, 45.6831 ns/op +WorkloadActual 47: 16777216 op, 793257900.00 ns, 47.2819 ns/op +WorkloadActual 48: 16777216 op, 922733200.00 ns, 54.9992 ns/op +WorkloadActual 49: 16777216 op, 681313300.00 ns, 40.6094 ns/op +WorkloadActual 50: 16777216 op, 639622200.00 ns, 38.1245 ns/op +WorkloadActual 51: 16777216 op, 643381900.00 ns, 38.3485 ns/op +WorkloadActual 52: 16777216 op, 891656300.00 ns, 53.1469 ns/op +WorkloadActual 53: 16777216 op, 798382700.00 ns, 47.5873 ns/op +WorkloadActual 54: 16777216 op, 630404800.00 ns, 37.5751 ns/op +WorkloadActual 55: 16777216 op, 638368100.00 ns, 38.0497 ns/op +WorkloadActual 56: 16777216 op, 769287200.00 ns, 45.8531 ns/op +WorkloadActual 57: 16777216 op, 836672600.00 ns, 49.8696 ns/op +WorkloadActual 58: 16777216 op, 820196400.00 ns, 48.8875 ns/op +WorkloadActual 59: 16777216 op, 673768800.00 ns, 40.1597 ns/op +WorkloadActual 60: 16777216 op, 674076700.00 ns, 40.1781 ns/op +WorkloadActual 61: 16777216 op, 746499100.00 ns, 44.4948 ns/op +WorkloadActual 62: 16777216 op, 937430700.00 ns, 55.8752 ns/op +WorkloadActual 63: 16777216 op, 853096700.00 ns, 50.8485 ns/op +WorkloadActual 64: 16777216 op, 757362400.00 ns, 45.1423 ns/op +WorkloadActual 65: 16777216 op, 634693000.00 ns, 37.8307 ns/op +WorkloadActual 66: 16777216 op, 631957800.00 ns, 37.6676 ns/op +WorkloadActual 67: 16777216 op, 630882800.00 ns, 37.6035 ns/op +WorkloadActual 68: 16777216 op, 800694200.00 ns, 47.7251 ns/op +WorkloadActual 69: 16777216 op, 714864500.00 ns, 42.6092 ns/op +WorkloadActual 70: 16777216 op, 805342900.00 ns, 48.0022 ns/op +WorkloadActual 71: 16777216 op, 825981900.00 ns, 49.2324 ns/op +WorkloadActual 72: 16777216 op, 942171100.00 ns, 56.1578 ns/op +WorkloadActual 73: 16777216 op, 683050900.00 ns, 40.7130 ns/op +WorkloadActual 74: 16777216 op, 664607000.00 ns, 39.6137 ns/op +WorkloadActual 75: 16777216 op, 642682200.00 ns, 38.3068 ns/op +WorkloadActual 76: 16777216 op, 636620500.00 ns, 37.9455 ns/op +WorkloadActual 77: 16777216 op, 635677500.00 ns, 37.8893 ns/op +WorkloadActual 78: 16777216 op, 886375100.00 ns, 52.8321 ns/op +WorkloadActual 79: 16777216 op, 790099400.00 ns, 47.0936 ns/op +WorkloadActual 80: 16777216 op, 888551900.00 ns, 52.9618 ns/op +WorkloadActual 81: 16777216 op, 834760100.00 ns, 49.7556 ns/op +WorkloadActual 82: 16777216 op, 741222200.00 ns, 44.1803 ns/op +WorkloadActual 83: 16777216 op, 726653800.00 ns, 43.3119 ns/op +WorkloadActual 84: 16777216 op, 771349600.00 ns, 45.9760 ns/op +WorkloadActual 85: 16777216 op, 647119900.00 ns, 38.5714 ns/op +WorkloadActual 86: 16777216 op, 628424100.00 ns, 37.4570 ns/op +WorkloadActual 87: 16777216 op, 635639500.00 ns, 37.8871 ns/op +WorkloadActual 88: 16777216 op, 627724800.00 ns, 37.4153 ns/op +WorkloadActual 89: 16777216 op, 627585800.00 ns, 37.4070 ns/op +WorkloadActual 90: 16777216 op, 840318000.00 ns, 50.0869 ns/op +WorkloadActual 91: 16777216 op, 806241600.00 ns, 48.0557 ns/op +WorkloadActual 92: 16777216 op, 765384600.00 ns, 45.6205 ns/op +WorkloadActual 93: 16777216 op, 810973700.00 ns, 48.3378 ns/op +WorkloadActual 94: 16777216 op, 811596700.00 ns, 48.3749 ns/op +WorkloadActual 95: 16777216 op, 773471700.00 ns, 46.1025 ns/op +WorkloadActual 96: 16777216 op, 834301000.00 ns, 49.7282 ns/op +WorkloadActual 97: 16777216 op, 645519900.00 ns, 38.4760 ns/op +WorkloadActual 98: 16777216 op, 679492100.00 ns, 40.5009 ns/op +WorkloadActual 99: 16777216 op, 626762000.00 ns, 37.3579 ns/op +WorkloadActual 100: 16777216 op, 628261900.00 ns, 37.4473 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 789821700.00 ns, 47.0770 ns/op +WorkloadResult 2: 16777216 op, 863580500.00 ns, 51.4734 ns/op +WorkloadResult 3: 16777216 op, 709364300.00 ns, 42.2814 ns/op +WorkloadResult 4: 16777216 op, 682175700.00 ns, 40.6608 ns/op +WorkloadResult 5: 16777216 op, 664775700.00 ns, 39.6237 ns/op +WorkloadResult 6: 16777216 op, 751641800.00 ns, 44.8013 ns/op +WorkloadResult 7: 16777216 op, 944081800.00 ns, 56.2717 ns/op +WorkloadResult 8: 16777216 op, 982859900.00 ns, 58.5830 ns/op +WorkloadResult 9: 16777216 op, 879103400.00 ns, 52.3986 ns/op +WorkloadResult 10: 16777216 op, 1012109000.00 ns, 60.3264 ns/op +WorkloadResult 11: 16777216 op, 690144000.00 ns, 41.1358 ns/op +WorkloadResult 12: 16777216 op, 658376500.00 ns, 39.2423 ns/op +WorkloadResult 13: 16777216 op, 819933800.00 ns, 48.8719 ns/op +WorkloadResult 14: 16777216 op, 797044600.00 ns, 47.5076 ns/op +WorkloadResult 15: 16777216 op, 813305800.00 ns, 48.4768 ns/op +WorkloadResult 16: 16777216 op, 694449900.00 ns, 41.3924 ns/op +WorkloadResult 17: 16777216 op, 675869800.00 ns, 40.2850 ns/op +WorkloadResult 18: 16777216 op, 814066000.00 ns, 48.5221 ns/op +WorkloadResult 19: 16777216 op, 672838500.00 ns, 40.1043 ns/op +WorkloadResult 20: 16777216 op, 607553000.00 ns, 36.2130 ns/op +WorkloadResult 21: 16777216 op, 615928200.00 ns, 36.7122 ns/op +WorkloadResult 22: 16777216 op, 682814100.00 ns, 40.6989 ns/op +WorkloadResult 23: 16777216 op, 730755800.00 ns, 43.5564 ns/op +WorkloadResult 24: 16777216 op, 787706600.00 ns, 46.9510 ns/op +WorkloadResult 25: 16777216 op, 705908200.00 ns, 42.0754 ns/op +WorkloadResult 26: 16777216 op, 614590300.00 ns, 36.6324 ns/op +WorkloadResult 27: 16777216 op, 605499700.00 ns, 36.0906 ns/op +WorkloadResult 28: 16777216 op, 631930000.00 ns, 37.6660 ns/op +WorkloadResult 29: 16777216 op, 801985100.00 ns, 47.8020 ns/op +WorkloadResult 30: 16777216 op, 753476200.00 ns, 44.9107 ns/op +WorkloadResult 31: 16777216 op, 604815200.00 ns, 36.0498 ns/op +WorkloadResult 32: 16777216 op, 608174600.00 ns, 36.2500 ns/op +WorkloadResult 33: 16777216 op, 607087800.00 ns, 36.1853 ns/op +WorkloadResult 34: 16777216 op, 782684100.00 ns, 46.6516 ns/op +WorkloadResult 35: 16777216 op, 822089300.00 ns, 49.0003 ns/op +WorkloadResult 36: 16777216 op, 704121800.00 ns, 41.9689 ns/op +WorkloadResult 37: 16777216 op, 653422100.00 ns, 38.9470 ns/op +WorkloadResult 38: 16777216 op, 699713700.00 ns, 41.7062 ns/op +WorkloadResult 39: 16777216 op, 692344800.00 ns, 41.2670 ns/op +WorkloadResult 40: 16777216 op, 825218000.00 ns, 49.1868 ns/op +WorkloadResult 41: 16777216 op, 725676200.00 ns, 43.2537 ns/op +WorkloadResult 42: 16777216 op, 773532100.00 ns, 46.1061 ns/op +WorkloadResult 43: 16777216 op, 619024300.00 ns, 36.8967 ns/op +WorkloadResult 44: 16777216 op, 639061300.00 ns, 38.0910 ns/op +WorkloadResult 45: 16777216 op, 744803800.00 ns, 44.3938 ns/op +WorkloadResult 46: 16777216 op, 771627200.00 ns, 45.9926 ns/op +WorkloadResult 47: 16777216 op, 901102500.00 ns, 53.7099 ns/op +WorkloadResult 48: 16777216 op, 659682600.00 ns, 39.3201 ns/op +WorkloadResult 49: 16777216 op, 617991500.00 ns, 36.8352 ns/op +WorkloadResult 50: 16777216 op, 621751200.00 ns, 37.0593 ns/op +WorkloadResult 51: 16777216 op, 870025600.00 ns, 51.8576 ns/op +WorkloadResult 52: 16777216 op, 776752000.00 ns, 46.2980 ns/op +WorkloadResult 53: 16777216 op, 608774100.00 ns, 36.2858 ns/op +WorkloadResult 54: 16777216 op, 616737400.00 ns, 36.7604 ns/op +WorkloadResult 55: 16777216 op, 747656500.00 ns, 44.5638 ns/op +WorkloadResult 56: 16777216 op, 815041900.00 ns, 48.5803 ns/op +WorkloadResult 57: 16777216 op, 798565700.00 ns, 47.5982 ns/op +WorkloadResult 58: 16777216 op, 652138100.00 ns, 38.8705 ns/op +WorkloadResult 59: 16777216 op, 652446000.00 ns, 38.8888 ns/op +WorkloadResult 60: 16777216 op, 724868400.00 ns, 43.2055 ns/op +WorkloadResult 61: 16777216 op, 915800000.00 ns, 54.5859 ns/op +WorkloadResult 62: 16777216 op, 831466000.00 ns, 49.5592 ns/op +WorkloadResult 63: 16777216 op, 735731700.00 ns, 43.8530 ns/op +WorkloadResult 64: 16777216 op, 613062300.00 ns, 36.5414 ns/op +WorkloadResult 65: 16777216 op, 610327100.00 ns, 36.3783 ns/op +WorkloadResult 66: 16777216 op, 609252100.00 ns, 36.3143 ns/op +WorkloadResult 67: 16777216 op, 779063500.00 ns, 46.4358 ns/op +WorkloadResult 68: 16777216 op, 693233800.00 ns, 41.3200 ns/op +WorkloadResult 69: 16777216 op, 783712200.00 ns, 46.7129 ns/op +WorkloadResult 70: 16777216 op, 804351200.00 ns, 47.9431 ns/op +WorkloadResult 71: 16777216 op, 920540400.00 ns, 54.8685 ns/op +WorkloadResult 72: 16777216 op, 661420200.00 ns, 39.4237 ns/op +WorkloadResult 73: 16777216 op, 642976300.00 ns, 38.3244 ns/op +WorkloadResult 74: 16777216 op, 621051500.00 ns, 37.0176 ns/op +WorkloadResult 75: 16777216 op, 614989800.00 ns, 36.6562 ns/op +WorkloadResult 76: 16777216 op, 614046800.00 ns, 36.6000 ns/op +WorkloadResult 77: 16777216 op, 864744400.00 ns, 51.5428 ns/op +WorkloadResult 78: 16777216 op, 768468700.00 ns, 45.8043 ns/op +WorkloadResult 79: 16777216 op, 866921200.00 ns, 51.6725 ns/op +WorkloadResult 80: 16777216 op, 813129400.00 ns, 48.4663 ns/op +WorkloadResult 81: 16777216 op, 719591500.00 ns, 42.8910 ns/op +WorkloadResult 82: 16777216 op, 705023100.00 ns, 42.0227 ns/op +WorkloadResult 83: 16777216 op, 749718900.00 ns, 44.6867 ns/op +WorkloadResult 84: 16777216 op, 625489200.00 ns, 37.2821 ns/op +WorkloadResult 85: 16777216 op, 606793400.00 ns, 36.1677 ns/op +WorkloadResult 86: 16777216 op, 614008800.00 ns, 36.5978 ns/op +WorkloadResult 87: 16777216 op, 606094100.00 ns, 36.1260 ns/op +WorkloadResult 88: 16777216 op, 605955100.00 ns, 36.1177 ns/op +WorkloadResult 89: 16777216 op, 818687300.00 ns, 48.7976 ns/op +WorkloadResult 90: 16777216 op, 784610900.00 ns, 46.7665 ns/op +WorkloadResult 91: 16777216 op, 743753900.00 ns, 44.3312 ns/op +WorkloadResult 92: 16777216 op, 789343000.00 ns, 47.0485 ns/op +WorkloadResult 93: 16777216 op, 789966000.00 ns, 47.0856 ns/op +WorkloadResult 94: 16777216 op, 751841000.00 ns, 44.8132 ns/op +WorkloadResult 95: 16777216 op, 812670300.00 ns, 48.4389 ns/op +WorkloadResult 96: 16777216 op, 623889200.00 ns, 37.1867 ns/op +WorkloadResult 97: 16777216 op, 657861400.00 ns, 39.2116 ns/op +WorkloadResult 98: 16777216 op, 605131300.00 ns, 36.0686 ns/op +WorkloadResult 99: 16777216 op, 606631200.00 ns, 36.1580 ns/op +// GC: 135 0 0 2550136832 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 119360 has exited with code 0. + +Mean = 43.212 ns, StdErr = 0.594 ns (1.38%), N = 99, StdDev = 5.913 ns +Min = 36.050 ns, Q1 = 37.234 ns, Median = 42.281 ns, Q3 = 47.297 ns, Max = 60.326 ns +IQR = 10.062 ns, LowerFence = 22.141 ns, UpperFence = 62.390 ns +ConfidenceInterval = [41.195 ns; 45.228 ns] (CI 99.9%), Margin = 2.016 ns (4.67% of Mean) +Skewness = 0.58, Kurtosis = 2.62, MValue = 3.2 + +// ** Remained 26 (81.2%) benchmark(s) to run. Estimated finish 2026-02-23 19:54 (0h 8m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1828 1804 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLarge1024Bytes --job ".NET 10.0" --benchmarkId 4 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 91500.00 ns, 91.5000 us/op +WorkloadJitting 1: 1 op, 855400.00 ns, 855.4000 us/op + +OverheadJitting 2: 16 op, 202600.00 ns, 12.6625 us/op +WorkloadJitting 2: 16 op, 217800.00 ns, 13.6125 us/op + +WorkloadPilot 1: 16 op, 4200.00 ns, 262.5000 ns/op +WorkloadPilot 2: 32 op, 5700.00 ns, 178.1250 ns/op +WorkloadPilot 3: 64 op, 35900.00 ns, 560.9375 ns/op +WorkloadPilot 4: 128 op, 43900.00 ns, 342.9688 ns/op +WorkloadPilot 5: 256 op, 92700.00 ns, 362.1094 ns/op +WorkloadPilot 6: 512 op, 217500.00 ns, 424.8047 ns/op +WorkloadPilot 7: 1024 op, 409900.00 ns, 400.2930 ns/op +WorkloadPilot 8: 2048 op, 779000.00 ns, 380.3711 ns/op +WorkloadPilot 9: 4096 op, 1393800.00 ns, 340.2832 ns/op +WorkloadPilot 10: 8192 op, 2127100.00 ns, 259.6558 ns/op +WorkloadPilot 11: 16384 op, 5798700.00 ns, 353.9246 ns/op +WorkloadPilot 12: 32768 op, 4242900.00 ns, 129.4830 ns/op +WorkloadPilot 13: 65536 op, 5928000.00 ns, 90.4541 ns/op +WorkloadPilot 14: 131072 op, 9963900.00 ns, 76.0185 ns/op +WorkloadPilot 15: 262144 op, 15397100.00 ns, 58.7353 ns/op +WorkloadPilot 16: 524288 op, 31425800.00 ns, 59.9400 ns/op +WorkloadPilot 17: 1048576 op, 105506000.00 ns, 100.6184 ns/op +WorkloadPilot 18: 2097152 op, 138340800.00 ns, 65.9660 ns/op +WorkloadPilot 19: 4194304 op, 268130500.00 ns, 63.9273 ns/op +WorkloadPilot 20: 8388608 op, 533427800.00 ns, 63.5895 ns/op + +OverheadWarmup 1: 8388608 op, 12965700.00 ns, 1.5456 ns/op +OverheadWarmup 2: 8388608 op, 12782600.00 ns, 1.5238 ns/op +OverheadWarmup 3: 8388608 op, 12796600.00 ns, 1.5255 ns/op +OverheadWarmup 4: 8388608 op, 14366000.00 ns, 1.7126 ns/op +OverheadWarmup 5: 8388608 op, 12753900.00 ns, 1.5204 ns/op +OverheadWarmup 6: 8388608 op, 12848800.00 ns, 1.5317 ns/op +OverheadWarmup 7: 8388608 op, 12737900.00 ns, 1.5185 ns/op + +OverheadActual 1: 8388608 op, 14909900.00 ns, 1.7774 ns/op +OverheadActual 2: 8388608 op, 15542300.00 ns, 1.8528 ns/op +OverheadActual 3: 8388608 op, 12887200.00 ns, 1.5363 ns/op +OverheadActual 4: 8388608 op, 12989900.00 ns, 1.5485 ns/op +OverheadActual 5: 8388608 op, 13589100.00 ns, 1.6199 ns/op +OverheadActual 6: 8388608 op, 14888500.00 ns, 1.7748 ns/op +OverheadActual 7: 8388608 op, 16235500.00 ns, 1.9354 ns/op +OverheadActual 8: 8388608 op, 15631300.00 ns, 1.8634 ns/op +OverheadActual 9: 8388608 op, 16773700.00 ns, 1.9996 ns/op +OverheadActual 10: 8388608 op, 13039100.00 ns, 1.5544 ns/op +OverheadActual 11: 8388608 op, 12991300.00 ns, 1.5487 ns/op +OverheadActual 12: 8388608 op, 13196700.00 ns, 1.5732 ns/op +OverheadActual 13: 8388608 op, 12932400.00 ns, 1.5417 ns/op +OverheadActual 14: 8388608 op, 13003800.00 ns, 1.5502 ns/op +OverheadActual 15: 8388608 op, 12805000.00 ns, 1.5265 ns/op +OverheadActual 16: 8388608 op, 12803300.00 ns, 1.5263 ns/op +OverheadActual 17: 8388608 op, 10769200.00 ns, 1.2838 ns/op +OverheadActual 18: 8388608 op, 10580700.00 ns, 1.2613 ns/op +OverheadActual 19: 8388608 op, 10103400.00 ns, 1.2044 ns/op +OverheadActual 20: 8388608 op, 10596200.00 ns, 1.2632 ns/op + +WorkloadWarmup 1: 8388608 op, 656143500.00 ns, 78.2184 ns/op +WorkloadWarmup 2: 8388608 op, 683154400.00 ns, 81.4384 ns/op +WorkloadWarmup 3: 8388608 op, 630076900.00 ns, 75.1110 ns/op +WorkloadWarmup 4: 8388608 op, 545750600.00 ns, 65.0585 ns/op +WorkloadWarmup 5: 8388608 op, 640344500.00 ns, 76.3350 ns/op +WorkloadWarmup 6: 8388608 op, 888345900.00 ns, 105.8991 ns/op +WorkloadWarmup 7: 8388608 op, 743335300.00 ns, 88.6125 ns/op + +// BeforeActualRun +WorkloadActual 1: 8388608 op, 512700000.00 ns, 61.1186 ns/op +WorkloadActual 2: 8388608 op, 479265700.00 ns, 57.1329 ns/op +WorkloadActual 3: 8388608 op, 491393300.00 ns, 58.5786 ns/op +WorkloadActual 4: 8388608 op, 489205800.00 ns, 58.3179 ns/op +WorkloadActual 5: 8388608 op, 536580000.00 ns, 63.9653 ns/op +WorkloadActual 6: 8388608 op, 629211000.00 ns, 75.0078 ns/op +WorkloadActual 7: 8388608 op, 596397300.00 ns, 71.0961 ns/op +WorkloadActual 8: 8388608 op, 706828300.00 ns, 84.2605 ns/op +WorkloadActual 9: 8388608 op, 563728700.00 ns, 67.2017 ns/op +WorkloadActual 10: 8388608 op, 508510700.00 ns, 60.6192 ns/op +WorkloadActual 11: 8388608 op, 474045600.00 ns, 56.5106 ns/op +WorkloadActual 12: 8388608 op, 471409400.00 ns, 56.1964 ns/op +WorkloadActual 13: 8388608 op, 548585300.00 ns, 65.3965 ns/op +WorkloadActual 14: 8388608 op, 621572400.00 ns, 74.0972 ns/op +WorkloadActual 15: 8388608 op, 564822600.00 ns, 67.3321 ns/op +WorkloadActual 16: 8388608 op, 479012500.00 ns, 57.1027 ns/op +WorkloadActual 17: 8388608 op, 500079500.00 ns, 59.6141 ns/op +WorkloadActual 18: 8388608 op, 495505800.00 ns, 59.0689 ns/op +WorkloadActual 19: 8388608 op, 543947800.00 ns, 64.8436 ns/op +WorkloadActual 20: 8388608 op, 625712600.00 ns, 74.5908 ns/op +WorkloadActual 21: 8388608 op, 556981900.00 ns, 66.3974 ns/op +WorkloadActual 22: 8388608 op, 537825100.00 ns, 64.1137 ns/op +WorkloadActual 23: 8388608 op, 516953200.00 ns, 61.6256 ns/op +WorkloadActual 24: 8388608 op, 536583600.00 ns, 63.9657 ns/op +WorkloadActual 25: 8388608 op, 538698000.00 ns, 64.2178 ns/op +WorkloadActual 26: 8388608 op, 473630900.00 ns, 56.4612 ns/op +WorkloadActual 27: 8388608 op, 655760700.00 ns, 78.1728 ns/op +WorkloadActual 28: 8388608 op, 573877300.00 ns, 68.4115 ns/op +WorkloadActual 29: 8388608 op, 638402700.00 ns, 76.1035 ns/op +WorkloadActual 30: 8388608 op, 523956600.00 ns, 62.4605 ns/op +WorkloadActual 31: 8388608 op, 525091600.00 ns, 62.5958 ns/op +WorkloadActual 32: 8388608 op, 464671700.00 ns, 55.3932 ns/op +WorkloadActual 33: 8388608 op, 463093900.00 ns, 55.2051 ns/op +WorkloadActual 34: 8388608 op, 517451900.00 ns, 61.6851 ns/op +WorkloadActual 35: 8388608 op, 583966000.00 ns, 69.6142 ns/op +WorkloadActual 36: 8388608 op, 458999500.00 ns, 54.7170 ns/op +WorkloadActual 37: 8388608 op, 465687500.00 ns, 55.5143 ns/op +WorkloadActual 38: 8388608 op, 454919500.00 ns, 54.2306 ns/op +WorkloadActual 39: 8388608 op, 481310700.00 ns, 57.3767 ns/op +WorkloadActual 40: 8388608 op, 621746200.00 ns, 74.1179 ns/op +WorkloadActual 41: 8388608 op, 559762800.00 ns, 66.7289 ns/op +WorkloadActual 42: 8388608 op, 465392900.00 ns, 55.4792 ns/op +WorkloadActual 43: 8388608 op, 511411400.00 ns, 60.9650 ns/op +WorkloadActual 44: 8388608 op, 441402100.00 ns, 52.6192 ns/op +WorkloadActual 45: 8388608 op, 476055300.00 ns, 56.7502 ns/op +WorkloadActual 46: 8388608 op, 684631800.00 ns, 81.6145 ns/op +WorkloadActual 47: 8388608 op, 533899900.00 ns, 63.6458 ns/op +WorkloadActual 48: 8388608 op, 646046500.00 ns, 77.0147 ns/op +WorkloadActual 49: 8388608 op, 485902400.00 ns, 57.9241 ns/op +WorkloadActual 50: 8388608 op, 439802700.00 ns, 52.4286 ns/op +WorkloadActual 51: 8388608 op, 455134200.00 ns, 54.2562 ns/op +WorkloadActual 52: 8388608 op, 438540900.00 ns, 52.2781 ns/op +WorkloadActual 53: 8388608 op, 502780300.00 ns, 59.9361 ns/op +WorkloadActual 54: 8388608 op, 480621800.00 ns, 57.2946 ns/op +WorkloadActual 55: 8388608 op, 450313100.00 ns, 53.6815 ns/op +WorkloadActual 56: 8388608 op, 473009800.00 ns, 56.3872 ns/op +WorkloadActual 57: 8388608 op, 612920800.00 ns, 73.0659 ns/op +WorkloadActual 58: 8388608 op, 486544300.00 ns, 58.0006 ns/op +WorkloadActual 59: 8388608 op, 501769400.00 ns, 59.8156 ns/op +WorkloadActual 60: 8388608 op, 454496900.00 ns, 54.1803 ns/op +WorkloadActual 61: 8388608 op, 437793200.00 ns, 52.1890 ns/op +WorkloadActual 62: 8388608 op, 444065000.00 ns, 52.9367 ns/op +WorkloadActual 63: 8388608 op, 669100100.00 ns, 79.7629 ns/op +WorkloadActual 64: 8388608 op, 564265900.00 ns, 67.2657 ns/op +WorkloadActual 65: 8388608 op, 557815500.00 ns, 66.4968 ns/op +WorkloadActual 66: 8388608 op, 505366900.00 ns, 60.2444 ns/op +WorkloadActual 67: 8388608 op, 486437100.00 ns, 57.9878 ns/op +WorkloadActual 68: 8388608 op, 453475600.00 ns, 54.0585 ns/op +WorkloadActual 69: 8388608 op, 544645500.00 ns, 64.9268 ns/op +WorkloadActual 70: 8388608 op, 622588300.00 ns, 74.2183 ns/op +WorkloadActual 71: 8388608 op, 557002700.00 ns, 66.3999 ns/op +WorkloadActual 72: 8388608 op, 456355800.00 ns, 54.4019 ns/op +WorkloadActual 73: 8388608 op, 460483300.00 ns, 54.8939 ns/op +WorkloadActual 74: 8388608 op, 444723800.00 ns, 53.0152 ns/op +WorkloadActual 75: 8388608 op, 456942500.00 ns, 54.4718 ns/op +WorkloadActual 76: 8388608 op, 651378000.00 ns, 77.6503 ns/op +WorkloadActual 77: 8388608 op, 596732100.00 ns, 71.1360 ns/op +WorkloadActual 78: 8388608 op, 493840300.00 ns, 58.8704 ns/op +WorkloadActual 79: 8388608 op, 480589100.00 ns, 57.2907 ns/op +WorkloadActual 80: 8388608 op, 514135800.00 ns, 61.2898 ns/op +WorkloadActual 81: 8388608 op, 520194400.00 ns, 62.0120 ns/op +WorkloadActual 82: 8388608 op, 647223500.00 ns, 77.1551 ns/op +WorkloadActual 83: 8388608 op, 580825000.00 ns, 69.2397 ns/op +WorkloadActual 84: 8388608 op, 651332600.00 ns, 77.6449 ns/op +WorkloadActual 85: 8388608 op, 466805700.00 ns, 55.6476 ns/op +WorkloadActual 86: 8388608 op, 473402700.00 ns, 56.4340 ns/op +WorkloadActual 87: 8388608 op, 484135100.00 ns, 57.7134 ns/op +WorkloadActual 88: 8388608 op, 517205500.00 ns, 61.6557 ns/op +WorkloadActual 89: 8388608 op, 644019000.00 ns, 76.7730 ns/op +WorkloadActual 90: 8388608 op, 620154800.00 ns, 73.9282 ns/op +WorkloadActual 91: 8388608 op, 465342100.00 ns, 55.4731 ns/op +WorkloadActual 92: 8388608 op, 458815200.00 ns, 54.6950 ns/op +WorkloadActual 93: 8388608 op, 451083000.00 ns, 53.7733 ns/op +WorkloadActual 94: 8388608 op, 456764600.00 ns, 54.4506 ns/op +WorkloadActual 95: 8388608 op, 596900200.00 ns, 71.1560 ns/op +WorkloadActual 96: 8388608 op, 616046500.00 ns, 73.4385 ns/op +WorkloadActual 97: 8388608 op, 649893000.00 ns, 77.4733 ns/op +WorkloadActual 98: 8388608 op, 438471400.00 ns, 52.2699 ns/op +WorkloadActual 99: 8388608 op, 456831800.00 ns, 54.4586 ns/op +WorkloadActual 100: 8388608 op, 479808100.00 ns, 57.1976 ns/op + +// AfterActualRun +WorkloadResult 1: 8388608 op, 499702450.00 ns, 59.5692 ns/op +WorkloadResult 2: 8388608 op, 466268150.00 ns, 55.5835 ns/op +WorkloadResult 3: 8388608 op, 478395750.00 ns, 57.0292 ns/op +WorkloadResult 4: 8388608 op, 476208250.00 ns, 56.7684 ns/op +WorkloadResult 5: 8388608 op, 523582450.00 ns, 62.4159 ns/op +WorkloadResult 6: 8388608 op, 616213450.00 ns, 73.4584 ns/op +WorkloadResult 7: 8388608 op, 583399750.00 ns, 69.5467 ns/op +WorkloadResult 8: 8388608 op, 693830750.00 ns, 82.7111 ns/op +WorkloadResult 9: 8388608 op, 550731150.00 ns, 65.6523 ns/op +WorkloadResult 10: 8388608 op, 495513150.00 ns, 59.0698 ns/op +WorkloadResult 11: 8388608 op, 461048050.00 ns, 54.9612 ns/op +WorkloadResult 12: 8388608 op, 458411850.00 ns, 54.6470 ns/op +WorkloadResult 13: 8388608 op, 535587750.00 ns, 63.8470 ns/op +WorkloadResult 14: 8388608 op, 608574850.00 ns, 72.5478 ns/op +WorkloadResult 15: 8388608 op, 551825050.00 ns, 65.7827 ns/op +WorkloadResult 16: 8388608 op, 466014950.00 ns, 55.5533 ns/op +WorkloadResult 17: 8388608 op, 487081950.00 ns, 58.0647 ns/op +WorkloadResult 18: 8388608 op, 482508250.00 ns, 57.5195 ns/op +WorkloadResult 19: 8388608 op, 530950250.00 ns, 63.2942 ns/op +WorkloadResult 20: 8388608 op, 612715050.00 ns, 73.0413 ns/op +WorkloadResult 21: 8388608 op, 543984350.00 ns, 64.8480 ns/op +WorkloadResult 22: 8388608 op, 524827550.00 ns, 62.5643 ns/op +WorkloadResult 23: 8388608 op, 503955650.00 ns, 60.0762 ns/op +WorkloadResult 24: 8388608 op, 523586050.00 ns, 62.4163 ns/op +WorkloadResult 25: 8388608 op, 525700450.00 ns, 62.6684 ns/op +WorkloadResult 26: 8388608 op, 460633350.00 ns, 54.9118 ns/op +WorkloadResult 27: 8388608 op, 642763150.00 ns, 76.6233 ns/op +WorkloadResult 28: 8388608 op, 560879750.00 ns, 66.8621 ns/op +WorkloadResult 29: 8388608 op, 625405150.00 ns, 74.5541 ns/op +WorkloadResult 30: 8388608 op, 510959050.00 ns, 60.9111 ns/op +WorkloadResult 31: 8388608 op, 512094050.00 ns, 61.0464 ns/op +WorkloadResult 32: 8388608 op, 451674150.00 ns, 53.8438 ns/op +WorkloadResult 33: 8388608 op, 450096350.00 ns, 53.6557 ns/op +WorkloadResult 34: 8388608 op, 504454350.00 ns, 60.1356 ns/op +WorkloadResult 35: 8388608 op, 570968450.00 ns, 68.0647 ns/op +WorkloadResult 36: 8388608 op, 446001950.00 ns, 53.1676 ns/op +WorkloadResult 37: 8388608 op, 452689950.00 ns, 53.9648 ns/op +WorkloadResult 38: 8388608 op, 441921950.00 ns, 52.6812 ns/op +WorkloadResult 39: 8388608 op, 468313150.00 ns, 55.8273 ns/op +WorkloadResult 40: 8388608 op, 608748650.00 ns, 72.5685 ns/op +WorkloadResult 41: 8388608 op, 546765250.00 ns, 65.1795 ns/op +WorkloadResult 42: 8388608 op, 452395350.00 ns, 53.9297 ns/op +WorkloadResult 43: 8388608 op, 498413850.00 ns, 59.4156 ns/op +WorkloadResult 44: 8388608 op, 428404550.00 ns, 51.0698 ns/op +WorkloadResult 45: 8388608 op, 463057750.00 ns, 55.2008 ns/op +WorkloadResult 46: 8388608 op, 671634250.00 ns, 80.0650 ns/op +WorkloadResult 47: 8388608 op, 520902350.00 ns, 62.0964 ns/op +WorkloadResult 48: 8388608 op, 633048950.00 ns, 75.4653 ns/op +WorkloadResult 49: 8388608 op, 472904850.00 ns, 56.3747 ns/op +WorkloadResult 50: 8388608 op, 426805150.00 ns, 50.8791 ns/op +WorkloadResult 51: 8388608 op, 442136650.00 ns, 52.7068 ns/op +WorkloadResult 52: 8388608 op, 425543350.00 ns, 50.7287 ns/op +WorkloadResult 53: 8388608 op, 489782750.00 ns, 58.3867 ns/op +WorkloadResult 54: 8388608 op, 467624250.00 ns, 55.7452 ns/op +WorkloadResult 55: 8388608 op, 437315550.00 ns, 52.1321 ns/op +WorkloadResult 56: 8388608 op, 460012250.00 ns, 54.8377 ns/op +WorkloadResult 57: 8388608 op, 599923250.00 ns, 71.5164 ns/op +WorkloadResult 58: 8388608 op, 473546750.00 ns, 56.4512 ns/op +WorkloadResult 59: 8388608 op, 488771850.00 ns, 58.2661 ns/op +WorkloadResult 60: 8388608 op, 441499350.00 ns, 52.6308 ns/op +WorkloadResult 61: 8388608 op, 424795650.00 ns, 50.6396 ns/op +WorkloadResult 62: 8388608 op, 431067450.00 ns, 51.3872 ns/op +WorkloadResult 63: 8388608 op, 656102550.00 ns, 78.2135 ns/op +WorkloadResult 64: 8388608 op, 551268350.00 ns, 65.7163 ns/op +WorkloadResult 65: 8388608 op, 544817950.00 ns, 64.9474 ns/op +WorkloadResult 66: 8388608 op, 492369350.00 ns, 58.6950 ns/op +WorkloadResult 67: 8388608 op, 473439550.00 ns, 56.4384 ns/op +WorkloadResult 68: 8388608 op, 440478050.00 ns, 52.5091 ns/op +WorkloadResult 69: 8388608 op, 531647950.00 ns, 63.3774 ns/op +WorkloadResult 70: 8388608 op, 609590750.00 ns, 72.6689 ns/op +WorkloadResult 71: 8388608 op, 544005150.00 ns, 64.8505 ns/op +WorkloadResult 72: 8388608 op, 443358250.00 ns, 52.8524 ns/op +WorkloadResult 73: 8388608 op, 447485750.00 ns, 53.3445 ns/op +WorkloadResult 74: 8388608 op, 431726250.00 ns, 51.4658 ns/op +WorkloadResult 75: 8388608 op, 443944950.00 ns, 52.9224 ns/op +WorkloadResult 76: 8388608 op, 638380450.00 ns, 76.1009 ns/op +WorkloadResult 77: 8388608 op, 583734550.00 ns, 69.5866 ns/op +WorkloadResult 78: 8388608 op, 480842750.00 ns, 57.3209 ns/op +WorkloadResult 79: 8388608 op, 467591550.00 ns, 55.7413 ns/op +WorkloadResult 80: 8388608 op, 501138250.00 ns, 59.7403 ns/op +WorkloadResult 81: 8388608 op, 507196850.00 ns, 60.4626 ns/op +WorkloadResult 82: 8388608 op, 634225950.00 ns, 75.6056 ns/op +WorkloadResult 83: 8388608 op, 567827450.00 ns, 67.6903 ns/op +WorkloadResult 84: 8388608 op, 638335050.00 ns, 76.0955 ns/op +WorkloadResult 85: 8388608 op, 453808150.00 ns, 54.0981 ns/op +WorkloadResult 86: 8388608 op, 460405150.00 ns, 54.8846 ns/op +WorkloadResult 87: 8388608 op, 471137550.00 ns, 56.1640 ns/op +WorkloadResult 88: 8388608 op, 504207950.00 ns, 60.1063 ns/op +WorkloadResult 89: 8388608 op, 631021450.00 ns, 75.2236 ns/op +WorkloadResult 90: 8388608 op, 607157250.00 ns, 72.3788 ns/op +WorkloadResult 91: 8388608 op, 452344550.00 ns, 53.9237 ns/op +WorkloadResult 92: 8388608 op, 445817650.00 ns, 53.1456 ns/op +WorkloadResult 93: 8388608 op, 438085450.00 ns, 52.2239 ns/op +WorkloadResult 94: 8388608 op, 443767050.00 ns, 52.9012 ns/op +WorkloadResult 95: 8388608 op, 583902650.00 ns, 69.6066 ns/op +WorkloadResult 96: 8388608 op, 603048950.00 ns, 71.8890 ns/op +WorkloadResult 97: 8388608 op, 636895450.00 ns, 75.9239 ns/op +WorkloadResult 98: 8388608 op, 425473850.00 ns, 50.7204 ns/op +WorkloadResult 99: 8388608 op, 443834250.00 ns, 52.9092 ns/op +WorkloadResult 100: 8388608 op, 466810550.00 ns, 55.6482 ns/op +// GC: 465 1 0 8791261184 8388608 +// Threading: 0 0 8388608 + +// AfterAll +// Benchmark Process 116036 has exited with code 0. + +Mean = 61.157 ns, StdErr = 0.835 ns (1.36%), N = 100, StdDev = 8.346 ns +Min = 50.640 ns, Q1 = 54.065 ns, Median = 58.882 ns, Q3 = 66.053 ns, Max = 82.711 ns +IQR = 11.988 ns, LowerFence = 36.083 ns, UpperFence = 84.034 ns +ConfidenceInterval = [58.326 ns; 63.987 ns] (CI 99.9%), Margin = 2.830 ns (4.63% of Mean) +Skewness = 0.7, Kurtosis = 2.31, MValue = 2.61 + +// ** Remained 25 (78.1%) benchmark(s) to run. Estimated finish 2026-02-23 19:57 (0h 10m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2680 2676 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneInt128Elements --job ".NET 10.0" --benchmarkId 5 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 85700.00 ns, 85.7000 us/op +WorkloadJitting 1: 1 op, 876600.00 ns, 876.6000 us/op + +OverheadJitting 2: 16 op, 222200.00 ns, 13.8875 us/op +WorkloadJitting 2: 16 op, 268900.00 ns, 16.8063 us/op + +WorkloadPilot 1: 16 op, 4600.00 ns, 287.5000 ns/op +WorkloadPilot 2: 32 op, 5500.00 ns, 171.8750 ns/op +WorkloadPilot 3: 64 op, 20100.00 ns, 314.0625 ns/op +WorkloadPilot 4: 128 op, 29300.00 ns, 228.9063 ns/op +WorkloadPilot 5: 256 op, 52600.00 ns, 205.4688 ns/op +WorkloadPilot 6: 512 op, 101100.00 ns, 197.4609 ns/op +WorkloadPilot 7: 1024 op, 218400.00 ns, 213.2813 ns/op +WorkloadPilot 8: 2048 op, 423200.00 ns, 206.6406 ns/op +WorkloadPilot 9: 4096 op, 705900.00 ns, 172.3389 ns/op +WorkloadPilot 10: 8192 op, 1541800.00 ns, 188.2080 ns/op +WorkloadPilot 11: 16384 op, 3323200.00 ns, 202.8320 ns/op +WorkloadPilot 12: 32768 op, 5667300.00 ns, 172.9523 ns/op +WorkloadPilot 13: 65536 op, 3889400.00 ns, 59.3475 ns/op +WorkloadPilot 14: 131072 op, 7112300.00 ns, 54.2625 ns/op +WorkloadPilot 15: 262144 op, 13600800.00 ns, 51.8829 ns/op +WorkloadPilot 16: 524288 op, 26381900.00 ns, 50.3195 ns/op +WorkloadPilot 17: 1048576 op, 58344300.00 ns, 55.6415 ns/op +WorkloadPilot 18: 2097152 op, 131316500.00 ns, 62.6166 ns/op +WorkloadPilot 19: 4194304 op, 190676100.00 ns, 45.4607 ns/op +WorkloadPilot 20: 8388608 op, 369736700.00 ns, 44.0760 ns/op +WorkloadPilot 21: 16777216 op, 769028800.00 ns, 45.8377 ns/op + +OverheadWarmup 1: 16777216 op, 26790800.00 ns, 1.5969 ns/op +OverheadWarmup 2: 16777216 op, 25477200.00 ns, 1.5186 ns/op +OverheadWarmup 3: 16777216 op, 25418200.00 ns, 1.5150 ns/op +OverheadWarmup 4: 16777216 op, 28187200.00 ns, 1.6801 ns/op +OverheadWarmup 5: 16777216 op, 31725400.00 ns, 1.8910 ns/op +OverheadWarmup 6: 16777216 op, 25806600.00 ns, 1.5382 ns/op +OverheadWarmup 7: 16777216 op, 25586000.00 ns, 1.5250 ns/op +OverheadWarmup 8: 16777216 op, 26127400.00 ns, 1.5573 ns/op +OverheadWarmup 9: 16777216 op, 25431100.00 ns, 1.5158 ns/op + +OverheadActual 1: 16777216 op, 25462600.00 ns, 1.5177 ns/op +OverheadActual 2: 16777216 op, 25735200.00 ns, 1.5339 ns/op +OverheadActual 3: 16777216 op, 25488900.00 ns, 1.5193 ns/op +OverheadActual 4: 16777216 op, 26904100.00 ns, 1.6036 ns/op +OverheadActual 5: 16777216 op, 25525000.00 ns, 1.5214 ns/op +OverheadActual 6: 16777216 op, 26999100.00 ns, 1.6093 ns/op +OverheadActual 7: 16777216 op, 27094100.00 ns, 1.6149 ns/op +OverheadActual 8: 16777216 op, 25448600.00 ns, 1.5169 ns/op +OverheadActual 9: 16777216 op, 25402000.00 ns, 1.5141 ns/op +OverheadActual 10: 16777216 op, 25586400.00 ns, 1.5251 ns/op +OverheadActual 11: 16777216 op, 25724600.00 ns, 1.5333 ns/op +OverheadActual 12: 16777216 op, 18085000.00 ns, 1.0780 ns/op +OverheadActual 13: 16777216 op, 18274200.00 ns, 1.0892 ns/op +OverheadActual 14: 16777216 op, 19627200.00 ns, 1.1699 ns/op +OverheadActual 15: 16777216 op, 17923200.00 ns, 1.0683 ns/op +OverheadActual 16: 16777216 op, 17866700.00 ns, 1.0649 ns/op +OverheadActual 17: 16777216 op, 19088900.00 ns, 1.1378 ns/op +OverheadActual 18: 16777216 op, 20136300.00 ns, 1.2002 ns/op +OverheadActual 19: 16777216 op, 18949600.00 ns, 1.1295 ns/op +OverheadActual 20: 16777216 op, 18313200.00 ns, 1.0916 ns/op + +WorkloadWarmup 1: 16777216 op, 858886500.00 ns, 51.1936 ns/op +WorkloadWarmup 2: 16777216 op, 828135100.00 ns, 49.3607 ns/op +WorkloadWarmup 3: 16777216 op, 733678800.00 ns, 43.7307 ns/op +WorkloadWarmup 4: 16777216 op, 859474800.00 ns, 51.2287 ns/op +WorkloadWarmup 5: 16777216 op, 886278100.00 ns, 52.8263 ns/op +WorkloadWarmup 6: 16777216 op, 1004277600.00 ns, 59.8596 ns/op +WorkloadWarmup 7: 16777216 op, 811158700.00 ns, 48.3488 ns/op +WorkloadWarmup 8: 16777216 op, 745246400.00 ns, 44.4201 ns/op +WorkloadWarmup 9: 16777216 op, 795236300.00 ns, 47.3998 ns/op +WorkloadWarmup 10: 16777216 op, 959254400.00 ns, 57.1760 ns/op +WorkloadWarmup 11: 16777216 op, 729006800.00 ns, 43.4522 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 784256000.00 ns, 46.7453 ns/op +WorkloadActual 2: 16777216 op, 896965200.00 ns, 53.4633 ns/op +WorkloadActual 3: 16777216 op, 1077412900.00 ns, 64.2188 ns/op +WorkloadActual 4: 16777216 op, 1011496400.00 ns, 60.2899 ns/op +WorkloadActual 5: 16777216 op, 897462200.00 ns, 53.4929 ns/op +WorkloadActual 6: 16777216 op, 808520800.00 ns, 48.1916 ns/op +WorkloadActual 7: 16777216 op, 963250300.00 ns, 57.4142 ns/op +WorkloadActual 8: 16777216 op, 875606600.00 ns, 52.1902 ns/op +WorkloadActual 9: 16777216 op, 844432300.00 ns, 50.3321 ns/op +WorkloadActual 10: 16777216 op, 1035605200.00 ns, 61.7269 ns/op +WorkloadActual 11: 16777216 op, 877657500.00 ns, 52.3125 ns/op +WorkloadActual 12: 16777216 op, 778961100.00 ns, 46.4297 ns/op +WorkloadActual 13: 16777216 op, 939033000.00 ns, 55.9707 ns/op +WorkloadActual 14: 16777216 op, 1220421800.00 ns, 72.7428 ns/op +WorkloadActual 15: 16777216 op, 1283487900.00 ns, 76.5018 ns/op +WorkloadActual 16: 16777216 op, 1381297900.00 ns, 82.3318 ns/op +WorkloadActual 17: 16777216 op, 1081970800.00 ns, 64.4905 ns/op +WorkloadActual 18: 16777216 op, 1053765200.00 ns, 62.8093 ns/op +WorkloadActual 19: 16777216 op, 981405400.00 ns, 58.4963 ns/op +WorkloadActual 20: 16777216 op, 1063779200.00 ns, 63.4062 ns/op +WorkloadActual 21: 16777216 op, 1038349200.00 ns, 61.8904 ns/op +WorkloadActual 22: 16777216 op, 842317300.00 ns, 50.2060 ns/op +WorkloadActual 23: 16777216 op, 861674700.00 ns, 51.3598 ns/op +WorkloadActual 24: 16777216 op, 775886400.00 ns, 46.2464 ns/op +WorkloadActual 25: 16777216 op, 966543500.00 ns, 57.6105 ns/op +WorkloadActual 26: 16777216 op, 920678000.00 ns, 54.8767 ns/op +WorkloadActual 27: 16777216 op, 808198300.00 ns, 48.1724 ns/op +WorkloadActual 28: 16777216 op, 849870900.00 ns, 50.6563 ns/op +WorkloadActual 29: 16777216 op, 810057000.00 ns, 48.2832 ns/op +WorkloadActual 30: 16777216 op, 999877400.00 ns, 59.5973 ns/op +WorkloadActual 31: 16777216 op, 1007948700.00 ns, 60.0784 ns/op +WorkloadActual 32: 16777216 op, 865377100.00 ns, 51.5805 ns/op +WorkloadActual 33: 16777216 op, 801999700.00 ns, 47.8029 ns/op +WorkloadActual 34: 16777216 op, 786600500.00 ns, 46.8850 ns/op +WorkloadActual 35: 16777216 op, 974828000.00 ns, 58.1043 ns/op +WorkloadActual 36: 16777216 op, 1015056300.00 ns, 60.5021 ns/op +WorkloadActual 37: 16777216 op, 1018892000.00 ns, 60.7307 ns/op +WorkloadActual 38: 16777216 op, 803884200.00 ns, 47.9152 ns/op +WorkloadActual 39: 16777216 op, 803705200.00 ns, 47.9046 ns/op +WorkloadActual 40: 16777216 op, 860293200.00 ns, 51.2775 ns/op +WorkloadActual 41: 16777216 op, 966785700.00 ns, 57.6249 ns/op +WorkloadActual 42: 16777216 op, 982119900.00 ns, 58.5389 ns/op +WorkloadActual 43: 16777216 op, 873994800.00 ns, 52.0941 ns/op +WorkloadActual 44: 16777216 op, 839837000.00 ns, 50.0582 ns/op +WorkloadActual 45: 16777216 op, 821011200.00 ns, 48.9361 ns/op +WorkloadActual 46: 16777216 op, 801120100.00 ns, 47.7505 ns/op +WorkloadActual 47: 16777216 op, 1056500500.00 ns, 62.9723 ns/op +WorkloadActual 48: 16777216 op, 1026042400.00 ns, 61.1569 ns/op +WorkloadActual 49: 16777216 op, 1059946500.00 ns, 63.1777 ns/op +WorkloadActual 50: 16777216 op, 820467300.00 ns, 48.9037 ns/op +WorkloadActual 51: 16777216 op, 872964500.00 ns, 52.0327 ns/op +WorkloadActual 52: 16777216 op, 934248500.00 ns, 55.6855 ns/op +WorkloadActual 53: 16777216 op, 1016496000.00 ns, 60.5879 ns/op +WorkloadActual 54: 16777216 op, 1040099500.00 ns, 61.9948 ns/op +WorkloadActual 55: 16777216 op, 936836400.00 ns, 55.8398 ns/op +WorkloadActual 56: 16777216 op, 876056500.00 ns, 52.2170 ns/op +WorkloadActual 57: 16777216 op, 810363200.00 ns, 48.3014 ns/op +WorkloadActual 58: 16777216 op, 1034276000.00 ns, 61.6477 ns/op +WorkloadActual 59: 16777216 op, 928823100.00 ns, 55.3622 ns/op +WorkloadActual 60: 16777216 op, 821523500.00 ns, 48.9666 ns/op +WorkloadActual 61: 16777216 op, 893018800.00 ns, 53.2281 ns/op +WorkloadActual 62: 16777216 op, 980410600.00 ns, 58.4370 ns/op +WorkloadActual 63: 16777216 op, 1146333800.00 ns, 68.3268 ns/op +WorkloadActual 64: 16777216 op, 972819700.00 ns, 57.9846 ns/op +WorkloadActual 65: 16777216 op, 885785400.00 ns, 52.7969 ns/op +WorkloadActual 66: 16777216 op, 886548500.00 ns, 52.8424 ns/op +WorkloadActual 67: 16777216 op, 1104497300.00 ns, 65.8332 ns/op +WorkloadActual 68: 16777216 op, 1045641200.00 ns, 62.3251 ns/op +WorkloadActual 69: 16777216 op, 864774700.00 ns, 51.5446 ns/op +WorkloadActual 70: 16777216 op, 779697100.00 ns, 46.4736 ns/op +WorkloadActual 71: 16777216 op, 891835100.00 ns, 53.1575 ns/op +WorkloadActual 72: 16777216 op, 934412300.00 ns, 55.6953 ns/op +WorkloadActual 73: 16777216 op, 778166900.00 ns, 46.3824 ns/op +WorkloadActual 74: 16777216 op, 870587500.00 ns, 51.8911 ns/op +WorkloadActual 75: 16777216 op, 1009944900.00 ns, 60.1974 ns/op +WorkloadActual 76: 16777216 op, 917595400.00 ns, 54.6929 ns/op +WorkloadActual 77: 16777216 op, 723921400.00 ns, 43.1491 ns/op +WorkloadActual 78: 16777216 op, 711202300.00 ns, 42.3910 ns/op +WorkloadActual 79: 16777216 op, 759578100.00 ns, 45.2744 ns/op +WorkloadActual 80: 16777216 op, 1002117900.00 ns, 59.7309 ns/op +WorkloadActual 81: 16777216 op, 1015271600.00 ns, 60.5149 ns/op +WorkloadActual 82: 16777216 op, 748166400.00 ns, 44.5942 ns/op +WorkloadActual 83: 16777216 op, 778914400.00 ns, 46.4269 ns/op +WorkloadActual 84: 16777216 op, 818236700.00 ns, 48.7707 ns/op +WorkloadActual 85: 16777216 op, 859441600.00 ns, 51.2267 ns/op +WorkloadActual 86: 16777216 op, 999510100.00 ns, 59.5754 ns/op +WorkloadActual 87: 16777216 op, 803702500.00 ns, 47.9044 ns/op +WorkloadActual 88: 16777216 op, 815313200.00 ns, 48.5965 ns/op +WorkloadActual 89: 16777216 op, 777163000.00 ns, 46.3225 ns/op +WorkloadActual 90: 16777216 op, 1013152400.00 ns, 60.3886 ns/op +WorkloadActual 91: 16777216 op, 958080600.00 ns, 57.1061 ns/op +WorkloadActual 92: 16777216 op, 866804200.00 ns, 51.6656 ns/op +WorkloadActual 93: 16777216 op, 846421000.00 ns, 50.4506 ns/op +WorkloadActual 94: 16777216 op, 766493300.00 ns, 45.6866 ns/op +WorkloadActual 95: 16777216 op, 852996900.00 ns, 50.8426 ns/op +WorkloadActual 96: 16777216 op, 961382400.00 ns, 57.3029 ns/op +WorkloadActual 97: 16777216 op, 884185000.00 ns, 52.7015 ns/op +WorkloadActual 98: 16777216 op, 776462400.00 ns, 46.2808 ns/op +WorkloadActual 99: 16777216 op, 743433300.00 ns, 44.3121 ns/op +WorkloadActual 100: 16777216 op, 889770600.00 ns, 53.0345 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 758830700.00 ns, 45.2298 ns/op +WorkloadResult 2: 16777216 op, 871539900.00 ns, 51.9478 ns/op +WorkloadResult 3: 16777216 op, 1051987600.00 ns, 62.7033 ns/op +WorkloadResult 4: 16777216 op, 986071100.00 ns, 58.7744 ns/op +WorkloadResult 5: 16777216 op, 872036900.00 ns, 51.9774 ns/op +WorkloadResult 6: 16777216 op, 783095500.00 ns, 46.6761 ns/op +WorkloadResult 7: 16777216 op, 937825000.00 ns, 55.8987 ns/op +WorkloadResult 8: 16777216 op, 850181300.00 ns, 50.6748 ns/op +WorkloadResult 9: 16777216 op, 819007000.00 ns, 48.8166 ns/op +WorkloadResult 10: 16777216 op, 1010179900.00 ns, 60.2114 ns/op +WorkloadResult 11: 16777216 op, 852232200.00 ns, 50.7970 ns/op +WorkloadResult 12: 16777216 op, 753535800.00 ns, 44.9142 ns/op +WorkloadResult 13: 16777216 op, 913607700.00 ns, 54.4553 ns/op +WorkloadResult 14: 16777216 op, 1194996500.00 ns, 71.2273 ns/op +WorkloadResult 15: 16777216 op, 1056545500.00 ns, 62.9750 ns/op +WorkloadResult 16: 16777216 op, 1028339900.00 ns, 61.2938 ns/op +WorkloadResult 17: 16777216 op, 955980100.00 ns, 56.9809 ns/op +WorkloadResult 18: 16777216 op, 1038353900.00 ns, 61.8907 ns/op +WorkloadResult 19: 16777216 op, 1012923900.00 ns, 60.3750 ns/op +WorkloadResult 20: 16777216 op, 816892000.00 ns, 48.6906 ns/op +WorkloadResult 21: 16777216 op, 836249400.00 ns, 49.8443 ns/op +WorkloadResult 22: 16777216 op, 750461100.00 ns, 44.7310 ns/op +WorkloadResult 23: 16777216 op, 941118200.00 ns, 56.0950 ns/op +WorkloadResult 24: 16777216 op, 895252700.00 ns, 53.3612 ns/op +WorkloadResult 25: 16777216 op, 782773000.00 ns, 46.6569 ns/op +WorkloadResult 26: 16777216 op, 824445600.00 ns, 49.1408 ns/op +WorkloadResult 27: 16777216 op, 784631700.00 ns, 46.7677 ns/op +WorkloadResult 28: 16777216 op, 974452100.00 ns, 58.0819 ns/op +WorkloadResult 29: 16777216 op, 982523400.00 ns, 58.5630 ns/op +WorkloadResult 30: 16777216 op, 839951800.00 ns, 50.0650 ns/op +WorkloadResult 31: 16777216 op, 776574400.00 ns, 46.2874 ns/op +WorkloadResult 32: 16777216 op, 761175200.00 ns, 45.3696 ns/op +WorkloadResult 33: 16777216 op, 949402700.00 ns, 56.5888 ns/op +WorkloadResult 34: 16777216 op, 989631000.00 ns, 58.9866 ns/op +WorkloadResult 35: 16777216 op, 993466700.00 ns, 59.2152 ns/op +WorkloadResult 36: 16777216 op, 778458900.00 ns, 46.3998 ns/op +WorkloadResult 37: 16777216 op, 778279900.00 ns, 46.3891 ns/op +WorkloadResult 38: 16777216 op, 834867900.00 ns, 49.7620 ns/op +WorkloadResult 39: 16777216 op, 941360400.00 ns, 56.1095 ns/op +WorkloadResult 40: 16777216 op, 956694600.00 ns, 57.0234 ns/op +WorkloadResult 41: 16777216 op, 848569500.00 ns, 50.5787 ns/op +WorkloadResult 42: 16777216 op, 814411700.00 ns, 48.5427 ns/op +WorkloadResult 43: 16777216 op, 795585900.00 ns, 47.4206 ns/op +WorkloadResult 44: 16777216 op, 775694800.00 ns, 46.2350 ns/op +WorkloadResult 45: 16777216 op, 1031075200.00 ns, 61.4569 ns/op +WorkloadResult 46: 16777216 op, 1000617100.00 ns, 59.6414 ns/op +WorkloadResult 47: 16777216 op, 1034521200.00 ns, 61.6623 ns/op +WorkloadResult 48: 16777216 op, 795042000.00 ns, 47.3882 ns/op +WorkloadResult 49: 16777216 op, 847539200.00 ns, 50.5173 ns/op +WorkloadResult 50: 16777216 op, 908823200.00 ns, 54.1701 ns/op +WorkloadResult 51: 16777216 op, 991070700.00 ns, 59.0724 ns/op +WorkloadResult 52: 16777216 op, 1014674200.00 ns, 60.4793 ns/op +WorkloadResult 53: 16777216 op, 911411100.00 ns, 54.3243 ns/op +WorkloadResult 54: 16777216 op, 850631200.00 ns, 50.7016 ns/op +WorkloadResult 55: 16777216 op, 784937900.00 ns, 46.7859 ns/op +WorkloadResult 56: 16777216 op, 1008850700.00 ns, 60.1322 ns/op +WorkloadResult 57: 16777216 op, 903397800.00 ns, 53.8467 ns/op +WorkloadResult 58: 16777216 op, 796098200.00 ns, 47.4512 ns/op +WorkloadResult 59: 16777216 op, 867593500.00 ns, 51.7126 ns/op +WorkloadResult 60: 16777216 op, 954985300.00 ns, 56.9216 ns/op +WorkloadResult 61: 16777216 op, 1120908500.00 ns, 66.8114 ns/op +WorkloadResult 62: 16777216 op, 947394400.00 ns, 56.4691 ns/op +WorkloadResult 63: 16777216 op, 860360100.00 ns, 51.2815 ns/op +WorkloadResult 64: 16777216 op, 861123200.00 ns, 51.3269 ns/op +WorkloadResult 65: 16777216 op, 1079072000.00 ns, 64.3177 ns/op +WorkloadResult 66: 16777216 op, 1020215900.00 ns, 60.8096 ns/op +WorkloadResult 67: 16777216 op, 839349400.00 ns, 50.0291 ns/op +WorkloadResult 68: 16777216 op, 754271800.00 ns, 44.9581 ns/op +WorkloadResult 69: 16777216 op, 866409800.00 ns, 51.6420 ns/op +WorkloadResult 70: 16777216 op, 908987000.00 ns, 54.1798 ns/op +WorkloadResult 71: 16777216 op, 752741600.00 ns, 44.8669 ns/op +WorkloadResult 72: 16777216 op, 845162200.00 ns, 50.3756 ns/op +WorkloadResult 73: 16777216 op, 984519600.00 ns, 58.6819 ns/op +WorkloadResult 74: 16777216 op, 892170100.00 ns, 53.1775 ns/op +WorkloadResult 75: 16777216 op, 698496100.00 ns, 41.6336 ns/op +WorkloadResult 76: 16777216 op, 685777000.00 ns, 40.8755 ns/op +WorkloadResult 77: 16777216 op, 734152800.00 ns, 43.7589 ns/op +WorkloadResult 78: 16777216 op, 976692600.00 ns, 58.2154 ns/op +WorkloadResult 79: 16777216 op, 989846300.00 ns, 58.9994 ns/op +WorkloadResult 80: 16777216 op, 722741100.00 ns, 43.0787 ns/op +WorkloadResult 81: 16777216 op, 753489100.00 ns, 44.9115 ns/op +WorkloadResult 82: 16777216 op, 792811400.00 ns, 47.2552 ns/op +WorkloadResult 83: 16777216 op, 834016300.00 ns, 49.7112 ns/op +WorkloadResult 84: 16777216 op, 974084800.00 ns, 58.0600 ns/op +WorkloadResult 85: 16777216 op, 778277200.00 ns, 46.3889 ns/op +WorkloadResult 86: 16777216 op, 789887900.00 ns, 47.0810 ns/op +WorkloadResult 87: 16777216 op, 751737700.00 ns, 44.8071 ns/op +WorkloadResult 88: 16777216 op, 987727100.00 ns, 58.8731 ns/op +WorkloadResult 89: 16777216 op, 932655300.00 ns, 55.5906 ns/op +WorkloadResult 90: 16777216 op, 841378900.00 ns, 50.1501 ns/op +WorkloadResult 91: 16777216 op, 820995700.00 ns, 48.9352 ns/op +WorkloadResult 92: 16777216 op, 741068000.00 ns, 44.1711 ns/op +WorkloadResult 93: 16777216 op, 827571600.00 ns, 49.3271 ns/op +WorkloadResult 94: 16777216 op, 935957100.00 ns, 55.7874 ns/op +WorkloadResult 95: 16777216 op, 858759700.00 ns, 51.1861 ns/op +WorkloadResult 96: 16777216 op, 751037100.00 ns, 44.7653 ns/op +WorkloadResult 97: 16777216 op, 718008000.00 ns, 42.7966 ns/op +WorkloadResult 98: 16777216 op, 864345300.00 ns, 51.5190 ns/op +// GC: 476 0 0 8992587776 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 116828 has exited with code 0. + +Mean = 52.529 ns, StdErr = 0.640 ns (1.22%), N = 98, StdDev = 6.333 ns +Min = 40.875 ns, Q1 = 47.125 ns, Median = 51.304 ns, Q3 = 58.076 ns, Max = 71.227 ns +IQR = 10.952 ns, LowerFence = 30.697 ns, UpperFence = 74.504 ns +ConfidenceInterval = [50.358 ns; 54.700 ns] (CI 99.9%), Margin = 2.171 ns (4.13% of Mean) +Skewness = 0.37, Kurtosis = 2.41, MValue = 3 + +// ** Remained 24 (75.0%) benchmark(s) to run. Estimated finish 2026-02-23 20:03 (0h 14m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2696 1748 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLong128Elements --job ".NET 10.0" --benchmarkId 6 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 88700.00 ns, 88.7000 us/op +WorkloadJitting 1: 1 op, 840400.00 ns, 840.4000 us/op + +OverheadJitting 2: 16 op, 126700.00 ns, 7.9188 us/op +WorkloadJitting 2: 16 op, 122800.00 ns, 7.6750 us/op + +WorkloadPilot 1: 16 op, 2500.00 ns, 156.2500 ns/op +WorkloadPilot 2: 32 op, 3200.00 ns, 100.0000 ns/op +WorkloadPilot 3: 64 op, 19100.00 ns, 298.4375 ns/op +WorkloadPilot 4: 128 op, 27600.00 ns, 215.6250 ns/op +WorkloadPilot 5: 256 op, 57200.00 ns, 223.4375 ns/op +WorkloadPilot 6: 512 op, 137900.00 ns, 269.3359 ns/op +WorkloadPilot 7: 1024 op, 256100.00 ns, 250.0977 ns/op +WorkloadPilot 8: 2048 op, 469100.00 ns, 229.0527 ns/op +WorkloadPilot 9: 4096 op, 847200.00 ns, 206.8359 ns/op +WorkloadPilot 10: 8192 op, 1652500.00 ns, 201.7212 ns/op +WorkloadPilot 11: 16384 op, 3528600.00 ns, 215.3687 ns/op +WorkloadPilot 12: 32768 op, 2742300.00 ns, 83.6884 ns/op +WorkloadPilot 13: 65536 op, 5069100.00 ns, 77.3483 ns/op +WorkloadPilot 14: 131072 op, 7706000.00 ns, 58.7921 ns/op +WorkloadPilot 15: 262144 op, 14757800.00 ns, 56.2965 ns/op +WorkloadPilot 16: 524288 op, 33708000.00 ns, 64.2929 ns/op +WorkloadPilot 17: 1048576 op, 68613100.00 ns, 65.4346 ns/op +WorkloadPilot 18: 2097152 op, 115601000.00 ns, 55.1229 ns/op +WorkloadPilot 19: 4194304 op, 257539400.00 ns, 61.4022 ns/op +WorkloadPilot 20: 8388608 op, 502940500.00 ns, 59.9552 ns/op + +OverheadWarmup 1: 8388608 op, 12726700.00 ns, 1.5171 ns/op +OverheadWarmup 2: 8388608 op, 12872900.00 ns, 1.5346 ns/op +OverheadWarmup 3: 8388608 op, 12838800.00 ns, 1.5305 ns/op +OverheadWarmup 4: 8388608 op, 12827200.00 ns, 1.5291 ns/op +OverheadWarmup 5: 8388608 op, 12725800.00 ns, 1.5170 ns/op +OverheadWarmup 6: 8388608 op, 12752800.00 ns, 1.5203 ns/op +OverheadWarmup 7: 8388608 op, 12779400.00 ns, 1.5234 ns/op +OverheadWarmup 8: 8388608 op, 12749400.00 ns, 1.5198 ns/op + +OverheadActual 1: 8388608 op, 12913300.00 ns, 1.5394 ns/op +OverheadActual 2: 8388608 op, 12741600.00 ns, 1.5189 ns/op +OverheadActual 3: 8388608 op, 12727400.00 ns, 1.5172 ns/op +OverheadActual 4: 8388608 op, 12734300.00 ns, 1.5180 ns/op +OverheadActual 5: 8388608 op, 12722000.00 ns, 1.5166 ns/op +OverheadActual 6: 8388608 op, 12746400.00 ns, 1.5195 ns/op +OverheadActual 7: 8388608 op, 12712100.00 ns, 1.5154 ns/op +OverheadActual 8: 8388608 op, 12722800.00 ns, 1.5167 ns/op +OverheadActual 9: 8388608 op, 12969300.00 ns, 1.5461 ns/op +OverheadActual 10: 8388608 op, 12746600.00 ns, 1.5195 ns/op +OverheadActual 11: 8388608 op, 12760100.00 ns, 1.5211 ns/op +OverheadActual 12: 8388608 op, 12731700.00 ns, 1.5177 ns/op +OverheadActual 13: 8388608 op, 12704900.00 ns, 1.5145 ns/op +OverheadActual 14: 8388608 op, 12746300.00 ns, 1.5195 ns/op +OverheadActual 15: 8388608 op, 12750100.00 ns, 1.5199 ns/op + +WorkloadWarmup 1: 8388608 op, 473275600.00 ns, 56.4188 ns/op +WorkloadWarmup 2: 8388608 op, 547170100.00 ns, 65.2278 ns/op +WorkloadWarmup 3: 8388608 op, 646867800.00 ns, 77.1127 ns/op +WorkloadWarmup 4: 8388608 op, 637488600.00 ns, 75.9946 ns/op +WorkloadWarmup 5: 8388608 op, 528059400.00 ns, 62.9496 ns/op +WorkloadWarmup 6: 8388608 op, 477914600.00 ns, 56.9719 ns/op +WorkloadWarmup 7: 8388608 op, 496990600.00 ns, 59.2459 ns/op +WorkloadWarmup 8: 8388608 op, 470974800.00 ns, 56.1446 ns/op + +// BeforeActualRun +WorkloadActual 1: 8388608 op, 603128100.00 ns, 71.8985 ns/op +WorkloadActual 2: 8388608 op, 572098300.00 ns, 68.1994 ns/op +WorkloadActual 3: 8388608 op, 489628000.00 ns, 58.3682 ns/op +WorkloadActual 4: 8388608 op, 476457500.00 ns, 56.7982 ns/op +WorkloadActual 5: 8388608 op, 483849900.00 ns, 57.6794 ns/op +WorkloadActual 6: 8388608 op, 492628900.00 ns, 58.7259 ns/op +WorkloadActual 7: 8388608 op, 543140100.00 ns, 64.7473 ns/op +WorkloadActual 8: 8388608 op, 664482600.00 ns, 79.2125 ns/op +WorkloadActual 9: 8388608 op, 612773300.00 ns, 73.0483 ns/op +WorkloadActual 10: 8388608 op, 582811700.00 ns, 69.4766 ns/op +WorkloadActual 11: 8388608 op, 730258600.00 ns, 87.0536 ns/op +WorkloadActual 12: 8388608 op, 500679300.00 ns, 59.6856 ns/op +WorkloadActual 13: 8388608 op, 481837100.00 ns, 57.4395 ns/op +WorkloadActual 14: 8388608 op, 507474100.00 ns, 60.4956 ns/op +WorkloadActual 15: 8388608 op, 590473100.00 ns, 70.3899 ns/op +WorkloadActual 16: 8388608 op, 482022800.00 ns, 57.4616 ns/op +WorkloadActual 17: 8388608 op, 475823100.00 ns, 56.7225 ns/op +WorkloadActual 18: 8388608 op, 642534000.00 ns, 76.5960 ns/op +WorkloadActual 19: 8388608 op, 696519900.00 ns, 83.0316 ns/op +WorkloadActual 20: 8388608 op, 676347500.00 ns, 80.6269 ns/op +WorkloadActual 21: 8388608 op, 575583700.00 ns, 68.6149 ns/op +WorkloadActual 22: 8388608 op, 606493800.00 ns, 72.2997 ns/op +WorkloadActual 23: 8388608 op, 655048800.00 ns, 78.0879 ns/op +WorkloadActual 24: 8388608 op, 552934500.00 ns, 65.9149 ns/op +WorkloadActual 25: 8388608 op, 898369400.00 ns, 107.0940 ns/op +WorkloadActual 26: 8388608 op, 846251000.00 ns, 100.8810 ns/op +WorkloadActual 27: 8388608 op, 933214800.00 ns, 111.2479 ns/op +WorkloadActual 28: 8388608 op, 728223800.00 ns, 86.8110 ns/op +WorkloadActual 29: 8388608 op, 662033300.00 ns, 78.9205 ns/op +WorkloadActual 30: 8388608 op, 666067200.00 ns, 79.4014 ns/op +WorkloadActual 31: 8388608 op, 765721800.00 ns, 91.2812 ns/op +WorkloadActual 32: 8388608 op, 755870600.00 ns, 90.1068 ns/op +WorkloadActual 33: 8388608 op, 607239100.00 ns, 72.3885 ns/op +WorkloadActual 34: 8388608 op, 708273200.00 ns, 84.4327 ns/op +WorkloadActual 35: 8388608 op, 642584100.00 ns, 76.6020 ns/op +WorkloadActual 36: 8388608 op, 491694100.00 ns, 58.6145 ns/op +WorkloadActual 37: 8388608 op, 474835800.00 ns, 56.6048 ns/op +WorkloadActual 38: 8388608 op, 522780400.00 ns, 62.3203 ns/op +WorkloadActual 39: 8388608 op, 507017500.00 ns, 60.4412 ns/op +WorkloadActual 40: 8388608 op, 585998900.00 ns, 69.8565 ns/op +WorkloadActual 41: 8388608 op, 567527600.00 ns, 67.6546 ns/op +WorkloadActual 42: 8388608 op, 580701000.00 ns, 69.2250 ns/op +WorkloadActual 43: 8388608 op, 476043600.00 ns, 56.7488 ns/op +WorkloadActual 44: 8388608 op, 600800600.00 ns, 71.6210 ns/op +WorkloadActual 45: 8388608 op, 558822800.00 ns, 66.6169 ns/op +WorkloadActual 46: 8388608 op, 633221800.00 ns, 75.4859 ns/op +WorkloadActual 47: 8388608 op, 522405700.00 ns, 62.2756 ns/op +WorkloadActual 48: 8388608 op, 504885100.00 ns, 60.1870 ns/op +WorkloadActual 49: 8388608 op, 489026300.00 ns, 58.2965 ns/op +WorkloadActual 50: 8388608 op, 522107700.00 ns, 62.2401 ns/op +WorkloadActual 51: 8388608 op, 464828700.00 ns, 55.4119 ns/op +WorkloadActual 52: 8388608 op, 455114800.00 ns, 54.2539 ns/op +WorkloadActual 53: 8388608 op, 541416900.00 ns, 64.5419 ns/op +WorkloadActual 54: 8388608 op, 685982300.00 ns, 81.7755 ns/op +WorkloadActual 55: 8388608 op, 687133200.00 ns, 81.9127 ns/op +WorkloadActual 56: 8388608 op, 637695300.00 ns, 76.0192 ns/op +WorkloadActual 57: 8388608 op, 548178600.00 ns, 65.3480 ns/op +WorkloadActual 58: 8388608 op, 560893500.00 ns, 66.8637 ns/op +WorkloadActual 59: 8388608 op, 472805400.00 ns, 56.3628 ns/op +WorkloadActual 60: 8388608 op, 707437300.00 ns, 84.3331 ns/op +WorkloadActual 61: 8388608 op, 753881900.00 ns, 89.8697 ns/op +WorkloadActual 62: 8388608 op, 689587500.00 ns, 82.2052 ns/op +WorkloadActual 63: 8388608 op, 687153500.00 ns, 81.9151 ns/op +WorkloadActual 64: 8388608 op, 602918800.00 ns, 71.8735 ns/op +WorkloadActual 65: 8388608 op, 504674500.00 ns, 60.1619 ns/op +WorkloadActual 66: 8388608 op, 545055400.00 ns, 64.9757 ns/op +WorkloadActual 67: 8388608 op, 535962000.00 ns, 63.8916 ns/op +WorkloadActual 68: 8388608 op, 655254400.00 ns, 78.1124 ns/op +WorkloadActual 69: 8388608 op, 595672100.00 ns, 71.0096 ns/op +WorkloadActual 70: 8388608 op, 552647900.00 ns, 65.8808 ns/op +WorkloadActual 71: 8388608 op, 572459800.00 ns, 68.2425 ns/op +WorkloadActual 72: 8388608 op, 624274200.00 ns, 74.4193 ns/op +WorkloadActual 73: 8388608 op, 593927100.00 ns, 70.8016 ns/op +WorkloadActual 74: 8388608 op, 487457600.00 ns, 58.1095 ns/op +WorkloadActual 75: 8388608 op, 502605100.00 ns, 59.9152 ns/op +WorkloadActual 76: 8388608 op, 519902100.00 ns, 61.9772 ns/op +WorkloadActual 77: 8388608 op, 470920700.00 ns, 56.1381 ns/op +WorkloadActual 78: 8388608 op, 663091700.00 ns, 79.0467 ns/op +WorkloadActual 79: 8388608 op, 814742100.00 ns, 97.1248 ns/op +WorkloadActual 80: 8388608 op, 692646600.00 ns, 82.5699 ns/op +WorkloadActual 81: 8388608 op, 651654000.00 ns, 77.6832 ns/op +WorkloadActual 82: 8388608 op, 640046200.00 ns, 76.2995 ns/op +WorkloadActual 83: 8388608 op, 564773700.00 ns, 67.3263 ns/op +WorkloadActual 84: 8388608 op, 592388500.00 ns, 70.6182 ns/op +WorkloadActual 85: 8388608 op, 614319100.00 ns, 73.2325 ns/op +WorkloadActual 86: 8388608 op, 656703600.00 ns, 78.2852 ns/op +WorkloadActual 87: 8388608 op, 634334700.00 ns, 75.6186 ns/op +WorkloadActual 88: 8388608 op, 615464200.00 ns, 73.3691 ns/op +WorkloadActual 89: 8388608 op, 562047400.00 ns, 67.0013 ns/op +WorkloadActual 90: 8388608 op, 540311400.00 ns, 64.4101 ns/op +WorkloadActual 91: 8388608 op, 505329800.00 ns, 60.2400 ns/op +WorkloadActual 92: 8388608 op, 458997100.00 ns, 54.7167 ns/op +WorkloadActual 93: 8388608 op, 581195300.00 ns, 69.2839 ns/op +WorkloadActual 94: 8388608 op, 589142800.00 ns, 70.2313 ns/op +WorkloadActual 95: 8388608 op, 644487000.00 ns, 76.8288 ns/op +WorkloadActual 96: 8388608 op, 490326400.00 ns, 58.4515 ns/op +WorkloadActual 97: 8388608 op, 509414200.00 ns, 60.7269 ns/op +WorkloadActual 98: 8388608 op, 529834300.00 ns, 63.1612 ns/op +WorkloadActual 99: 8388608 op, 447670000.00 ns, 53.3664 ns/op +WorkloadActual 100: 8388608 op, 472055300.00 ns, 56.2734 ns/op + +// AfterActualRun +WorkloadResult 1: 8388608 op, 590386500.00 ns, 70.3796 ns/op +WorkloadResult 2: 8388608 op, 559356700.00 ns, 66.6805 ns/op +WorkloadResult 3: 8388608 op, 476886400.00 ns, 56.8493 ns/op +WorkloadResult 4: 8388608 op, 463715900.00 ns, 55.2792 ns/op +WorkloadResult 5: 8388608 op, 471108300.00 ns, 56.1605 ns/op +WorkloadResult 6: 8388608 op, 479887300.00 ns, 57.2070 ns/op +WorkloadResult 7: 8388608 op, 530398500.00 ns, 63.2284 ns/op +WorkloadResult 8: 8388608 op, 651741000.00 ns, 77.6936 ns/op +WorkloadResult 9: 8388608 op, 600031700.00 ns, 71.5294 ns/op +WorkloadResult 10: 8388608 op, 570070100.00 ns, 67.9577 ns/op +WorkloadResult 11: 8388608 op, 717517000.00 ns, 85.5347 ns/op +WorkloadResult 12: 8388608 op, 487937700.00 ns, 58.1667 ns/op +WorkloadResult 13: 8388608 op, 469095500.00 ns, 55.9205 ns/op +WorkloadResult 14: 8388608 op, 494732500.00 ns, 58.9767 ns/op +WorkloadResult 15: 8388608 op, 577731500.00 ns, 68.8710 ns/op +WorkloadResult 16: 8388608 op, 469281200.00 ns, 55.9427 ns/op +WorkloadResult 17: 8388608 op, 463081500.00 ns, 55.2036 ns/op +WorkloadResult 18: 8388608 op, 629792400.00 ns, 75.0771 ns/op +WorkloadResult 19: 8388608 op, 683778300.00 ns, 81.5127 ns/op +WorkloadResult 20: 8388608 op, 663605900.00 ns, 79.1080 ns/op +WorkloadResult 21: 8388608 op, 562842100.00 ns, 67.0960 ns/op +WorkloadResult 22: 8388608 op, 593752200.00 ns, 70.7808 ns/op +WorkloadResult 23: 8388608 op, 642307200.00 ns, 76.5690 ns/op +WorkloadResult 24: 8388608 op, 540192900.00 ns, 64.3960 ns/op +WorkloadResult 25: 8388608 op, 833509400.00 ns, 99.3621 ns/op +WorkloadResult 26: 8388608 op, 715482200.00 ns, 85.2921 ns/op +WorkloadResult 27: 8388608 op, 649291700.00 ns, 77.4016 ns/op +WorkloadResult 28: 8388608 op, 653325600.00 ns, 77.8825 ns/op +WorkloadResult 29: 8388608 op, 752980200.00 ns, 89.7622 ns/op +WorkloadResult 30: 8388608 op, 743129000.00 ns, 88.5879 ns/op +WorkloadResult 31: 8388608 op, 594497500.00 ns, 70.8696 ns/op +WorkloadResult 32: 8388608 op, 695531600.00 ns, 82.9138 ns/op +WorkloadResult 33: 8388608 op, 629842500.00 ns, 75.0831 ns/op +WorkloadResult 34: 8388608 op, 478952500.00 ns, 57.0956 ns/op +WorkloadResult 35: 8388608 op, 462094200.00 ns, 55.0859 ns/op +WorkloadResult 36: 8388608 op, 510038800.00 ns, 60.8014 ns/op +WorkloadResult 37: 8388608 op, 494275900.00 ns, 58.9223 ns/op +WorkloadResult 38: 8388608 op, 573257300.00 ns, 68.3376 ns/op +WorkloadResult 39: 8388608 op, 554786000.00 ns, 66.1356 ns/op +WorkloadResult 40: 8388608 op, 567959400.00 ns, 67.7060 ns/op +WorkloadResult 41: 8388608 op, 463302000.00 ns, 55.2299 ns/op +WorkloadResult 42: 8388608 op, 588059000.00 ns, 70.1021 ns/op +WorkloadResult 43: 8388608 op, 546081200.00 ns, 65.0980 ns/op +WorkloadResult 44: 8388608 op, 620480200.00 ns, 73.9670 ns/op +WorkloadResult 45: 8388608 op, 509664100.00 ns, 60.7567 ns/op +WorkloadResult 46: 8388608 op, 492143500.00 ns, 58.6681 ns/op +WorkloadResult 47: 8388608 op, 476284700.00 ns, 56.7776 ns/op +WorkloadResult 48: 8388608 op, 509366100.00 ns, 60.7212 ns/op +WorkloadResult 49: 8388608 op, 452087100.00 ns, 53.8930 ns/op +WorkloadResult 50: 8388608 op, 442373200.00 ns, 52.7350 ns/op +WorkloadResult 51: 8388608 op, 528675300.00 ns, 63.0230 ns/op +WorkloadResult 52: 8388608 op, 673240700.00 ns, 80.2565 ns/op +WorkloadResult 53: 8388608 op, 674391600.00 ns, 80.3937 ns/op +WorkloadResult 54: 8388608 op, 624953700.00 ns, 74.5003 ns/op +WorkloadResult 55: 8388608 op, 535437000.00 ns, 63.8291 ns/op +WorkloadResult 56: 8388608 op, 548151900.00 ns, 65.3448 ns/op +WorkloadResult 57: 8388608 op, 460063800.00 ns, 54.8439 ns/op +WorkloadResult 58: 8388608 op, 694695700.00 ns, 82.8142 ns/op +WorkloadResult 59: 8388608 op, 741140300.00 ns, 88.3508 ns/op +WorkloadResult 60: 8388608 op, 676845900.00 ns, 80.6863 ns/op +WorkloadResult 61: 8388608 op, 674411900.00 ns, 80.3962 ns/op +WorkloadResult 62: 8388608 op, 590177200.00 ns, 70.3546 ns/op +WorkloadResult 63: 8388608 op, 491932900.00 ns, 58.6430 ns/op +WorkloadResult 64: 8388608 op, 532313800.00 ns, 63.4567 ns/op +WorkloadResult 65: 8388608 op, 523220400.00 ns, 62.3727 ns/op +WorkloadResult 66: 8388608 op, 642512800.00 ns, 76.5935 ns/op +WorkloadResult 67: 8388608 op, 582930500.00 ns, 69.4907 ns/op +WorkloadResult 68: 8388608 op, 539906300.00 ns, 64.3618 ns/op +WorkloadResult 69: 8388608 op, 559718200.00 ns, 66.7236 ns/op +WorkloadResult 70: 8388608 op, 611532600.00 ns, 72.9004 ns/op +WorkloadResult 71: 8388608 op, 581185500.00 ns, 69.2827 ns/op +WorkloadResult 72: 8388608 op, 474716000.00 ns, 56.5906 ns/op +WorkloadResult 73: 8388608 op, 489863500.00 ns, 58.3963 ns/op +WorkloadResult 74: 8388608 op, 507160500.00 ns, 60.4582 ns/op +WorkloadResult 75: 8388608 op, 458179100.00 ns, 54.6192 ns/op +WorkloadResult 76: 8388608 op, 650350100.00 ns, 77.5278 ns/op +WorkloadResult 77: 8388608 op, 802000500.00 ns, 95.6059 ns/op +WorkloadResult 78: 8388608 op, 679905000.00 ns, 81.0510 ns/op +WorkloadResult 79: 8388608 op, 638912400.00 ns, 76.1643 ns/op +WorkloadResult 80: 8388608 op, 627304600.00 ns, 74.7805 ns/op +WorkloadResult 81: 8388608 op, 552032100.00 ns, 65.8074 ns/op +WorkloadResult 82: 8388608 op, 579646900.00 ns, 69.0993 ns/op +WorkloadResult 83: 8388608 op, 601577500.00 ns, 71.7136 ns/op +WorkloadResult 84: 8388608 op, 643962000.00 ns, 76.7663 ns/op +WorkloadResult 85: 8388608 op, 621593100.00 ns, 74.0997 ns/op +WorkloadResult 86: 8388608 op, 602722600.00 ns, 71.8501 ns/op +WorkloadResult 87: 8388608 op, 549305800.00 ns, 65.4824 ns/op +WorkloadResult 88: 8388608 op, 527569800.00 ns, 62.8912 ns/op +WorkloadResult 89: 8388608 op, 492588200.00 ns, 58.7211 ns/op +WorkloadResult 90: 8388608 op, 446255500.00 ns, 53.1978 ns/op +WorkloadResult 91: 8388608 op, 568453700.00 ns, 67.7650 ns/op +WorkloadResult 92: 8388608 op, 576401200.00 ns, 68.7124 ns/op +WorkloadResult 93: 8388608 op, 631745400.00 ns, 75.3099 ns/op +WorkloadResult 94: 8388608 op, 477584800.00 ns, 56.9325 ns/op +WorkloadResult 95: 8388608 op, 496672600.00 ns, 59.2080 ns/op +WorkloadResult 96: 8388608 op, 517092700.00 ns, 61.6423 ns/op +WorkloadResult 97: 8388608 op, 434928400.00 ns, 51.8475 ns/op +WorkloadResult 98: 8388608 op, 459313700.00 ns, 54.7545 ns/op +// GC: 465 1 0 8791261184 8388608 +// Threading: 0 0 8388608 + +// AfterAll +// Benchmark Process 125260 has exited with code 0. + +Mean = 68.111 ns, StdErr = 1.061 ns (1.56%), N = 98, StdDev = 10.499 ns +Min = 51.848 ns, Q1 = 58.771 ns, Median = 67.401 ns, Q3 = 75.253 ns, Max = 99.362 ns +IQR = 16.482 ns, LowerFence = 34.049 ns, UpperFence = 99.976 ns +ConfidenceInterval = [64.512 ns; 71.711 ns] (CI 99.9%), Margin = 3.599 ns (5.28% of Mean) +Skewness = 0.56, Kurtosis = 2.74, MValue = 4 + +// ** Remained 23 (71.9%) benchmark(s) to run. Estimated finish 2026-02-23 20:05 (0h 15m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 1 Warning(s) + 6 Error(s) +Time Elapsed 00:00:03.22 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 22 (68.8%) benchmark(s) to run. Estimated finish 2026-02-23 20:03 (0h 13m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 1 Warning(s) + 6 Error(s) +Time Elapsed 00:00:03.22 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 21 (65.6%) benchmark(s) to run. Estimated finish 2026-02-23 20:01 (0h 11m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 1 Warning(s) + 6 Error(s) +Time Elapsed 00:00:03.22 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 20 (62.5%) benchmark(s) to run. Estimated finish 2026-02-23 19:59 (0h 10m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 1 Warning(s) + 6 Error(s) +Time Elapsed 00:00:03.22 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 19 (59.4%) benchmark(s) to run. Estimated finish 2026-02-23 19:58 (0h 8m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +C:\Program Files\dotnet\sdk\10.0.200-preview.0.26103.119\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll + BouncyCastle.Crypto.Benchmarks -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks.exe +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2445,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1869,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3021,32): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(2569,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(1993,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] +D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs(3145,17): error CS0103: The name 'AllocUninitBlockCopy' does not exist in the current context [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BenchmarkDotNet.Autogenerated.csproj] + 1 Warning(s) + 6 Error(s) +Time Elapsed 00:00:03.22 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 18 (56.2%) benchmark(s) to run. Estimated finish 2026-02-23 19:57 (0h 7m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.html + +// * Detailed results * +ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 34.343 ns, StdErr = 0.184 ns (0.53%), N = 24, StdDev = 0.900 ns +Min = 33.405 ns, Q1 = 33.592 ns, Median = 34.204 ns, Q3 = 34.835 ns, Max = 36.612 ns +IQR = 1.243 ns, LowerFence = 31.726 ns, UpperFence = 36.700 ns +ConfidenceInterval = [33.651 ns; 35.035 ns] (CI 99.9%), Margin = 0.692 ns (2.01% of Mean) +Skewness = 0.88, Kurtosis = 2.72, MValue = 2 +-------------------- Histogram -------------------- +[33.383 ns ; 34.202 ns) | @@@@@@@@@@@@ +[34.202 ns ; 35.225 ns) | @@@@@@ +[35.225 ns ; 36.044 ns) | @@@@@ +[36.044 ns ; 37.021 ns) | @ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 43.212 ns, StdErr = 0.594 ns (1.38%), N = 99, StdDev = 5.913 ns +Min = 36.050 ns, Q1 = 37.234 ns, Median = 42.281 ns, Q3 = 47.297 ns, Max = 60.326 ns +IQR = 10.062 ns, LowerFence = 22.141 ns, UpperFence = 62.390 ns +ConfidenceInterval = [41.195 ns; 45.228 ns] (CI 99.9%), Margin = 2.016 ns (4.67% of Mean) +Skewness = 0.58, Kurtosis = 2.62, MValue = 3.2 +-------------------- Histogram -------------------- +[36.007 ns ; 39.363 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[39.363 ns ; 41.631 ns) | @@@@@@@@@@ +[41.631 ns ; 44.986 ns) | @@@@@@@@@@@@@@@@@ +[44.986 ns ; 49.267 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[49.267 ns ; 51.352 ns) | @ +[51.352 ns ; 54.707 ns) | @@@@@@@ +[54.707 ns ; 57.777 ns) | @@ +[57.777 ns ; 61.133 ns) | @@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 61.157 ns, StdErr = 0.835 ns (1.36%), N = 100, StdDev = 8.346 ns +Min = 50.640 ns, Q1 = 54.065 ns, Median = 58.882 ns, Q3 = 66.053 ns, Max = 82.711 ns +IQR = 11.988 ns, LowerFence = 36.083 ns, UpperFence = 84.034 ns +ConfidenceInterval = [58.326 ns; 63.987 ns] (CI 99.9%), Margin = 2.830 ns (4.63% of Mean) +Skewness = 0.7, Kurtosis = 2.31, MValue = 2.61 +-------------------- Histogram -------------------- +[48.280 ns ; 52.090 ns) | @@@@@@@ +[52.090 ns ; 56.810 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[56.810 ns ; 62.726 ns) | @@@@@@@@@@@@@@@@@@@@@@ +[62.726 ns ; 67.852 ns) | @@@@@@@@@@@@ +[67.852 ns ; 71.449 ns) | @@@@ +[71.449 ns ; 76.169 ns) | @@@@@@@@@@@@@@@ +[76.169 ns ; 80.704 ns) | @@@ +[80.704 ns ; 85.071 ns) | @ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 52.529 ns, StdErr = 0.640 ns (1.22%), N = 98, StdDev = 6.333 ns +Min = 40.875 ns, Q1 = 47.125 ns, Median = 51.304 ns, Q3 = 58.076 ns, Max = 71.227 ns +IQR = 10.952 ns, LowerFence = 30.697 ns, UpperFence = 74.504 ns +ConfidenceInterval = [50.358 ns; 54.700 ns] (CI 99.9%), Margin = 2.171 ns (4.13% of Mean) +Skewness = 0.37, Kurtosis = 2.41, MValue = 3 +-------------------- Histogram -------------------- +[40.514 ns ; 44.008 ns) | @@@@@ +[44.008 ns ; 47.614 ns) | @@@@@@@@@@@@@@@@@@@@@@@@ +[47.614 ns ; 52.063 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@ +[52.063 ns ; 55.698 ns) | @@@@@@@@ +[55.698 ns ; 59.304 ns) | @@@@@@@@@@@@@@@@@@@@ +[59.304 ns ; 63.111 ns) | @@@@@@@@@@@@ +[63.111 ns ; 67.367 ns) | @@ +[67.367 ns ; 69.424 ns) | +[69.424 ns ; 73.030 ns) | @ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 68.111 ns, StdErr = 1.061 ns (1.56%), N = 98, StdDev = 10.499 ns +Min = 51.848 ns, Q1 = 58.771 ns, Median = 67.401 ns, Q3 = 75.253 ns, Max = 99.362 ns +IQR = 16.482 ns, LowerFence = 34.049 ns, UpperFence = 99.976 ns +ConfidenceInterval = [64.512 ns; 71.711 ns] (CI 99.9%), Margin = 3.599 ns (5.28% of Mean) +Skewness = 0.56, Kurtosis = 2.74, MValue = 4 +-------------------- Histogram -------------------- +[48.858 ns ; 54.834 ns) | @@@@@@ +[54.834 ns ; 60.812 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@ +[60.812 ns ; 64.995 ns) | @@@@@@@@@ +[64.995 ns ; 70.973 ns) | @@@@@@@@@@@@@@@@@@@@@@ +[70.973 ns ; 74.459 ns) | @@@@@@ +[74.459 ns ; 80.437 ns) | @@@@@@@@@@@@@@@@@ +[80.437 ns ; 86.099 ns) | @@@@@@@ +[86.099 ns ; 92.045 ns) | @@@ +[92.045 ns ; 94.495 ns) | +[94.495 ns ; 100.473 ns) | @@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = ; GC = +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + + +| Method | Job | Runtime | Mean | +|--------------------- |--------------------- |--------------------- |---------:| +| CloneSmall16Bytes | .NET 10.0 | .NET 10.0 | 34.34 ns | +| CloneMedium128Bytes | .NET 10.0 | .NET 10.0 | 43.21 ns | +| CloneLarge1024Bytes | .NET 10.0 | .NET 10.0 | 61.16 ns | +| CloneInt128Elements | .NET 10.0 | .NET 10.0 | 52.53 ns | +| CloneLong128Elements | .NET 10.0 | .NET 10.0 | 68.11 ns | +| CloneSmall16Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneMedium128Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneLarge1024Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneInt128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | +| CloneLong128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | + +Benchmarks with issues: + ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + +// * Warnings * +MultimodalDistribution + ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0 -> It seems that the distribution can have several modes (mValue = 3.2) + ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0 -> It seems that the distribution can have several modes (mValue = 3) + ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0 -> It seems that the distribution is bimodal (mValue = 4) + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0 -> 2 outliers were removed (40.34 ns, 42.11 ns) + ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0 -> 1 outlier was removed (65.89 ns) + ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0 -> 2 outliers were removed (76.50 ns, 82.33 ns) + ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0 -> 2 outliers were removed (107.09 ns, 111.25 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - CPUUsageDiagnoser * +Saving diagsession as a file. This may take a moment... +No statistics information in ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +No statistics information in ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1), it's summary information will be invalid +Exported diagsession file: D:\repos\bcgit\bc-csharp\BenchmarkDotNet.Artifacts\BenchmarkDotNet_ArraysCloneBenchmarks_20260223_194943.diagsession. + + +// ***** BenchmarkRunner: End ***** +Run time: 00:06:03 (363.31 sec), executed benchmarks: 5 + +// Found 18 benchmarks: +// CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// CloneImplementationComparison.AllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +// CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +// CloneImplementationComparison.AllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +// CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +// CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +// CloneImplementationComparison.AllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +// CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +// CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +// CloneImplementationComparison.AllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +// CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +// CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +// CloneImplementationComparison.AllocUninitBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +// CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] +// CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] +// CloneImplementationComparison.AllocUninitBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1828 2336 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.ArrayClone(ArraySize: 16)" --job ".NET 10.0" --benchmarkId 7 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 76900.00 ns, 76.9000 us/op +WorkloadJitting 1: 1 op, 140000.00 ns, 140.0000 us/op + +OverheadJitting 2: 16 op, 120300.00 ns, 7.5188 us/op +WorkloadJitting 2: 16 op, 116700.00 ns, 7.2938 us/op + +WorkloadPilot 1: 16 op, 2100.00 ns, 131.2500 ns/op +WorkloadPilot 2: 32 op, 2600.00 ns, 81.2500 ns/op +WorkloadPilot 3: 64 op, 8900.00 ns, 139.0625 ns/op +WorkloadPilot 4: 128 op, 9900.00 ns, 77.3438 ns/op +WorkloadPilot 5: 256 op, 17800.00 ns, 69.5313 ns/op +WorkloadPilot 6: 512 op, 24800.00 ns, 48.4375 ns/op +WorkloadPilot 7: 1024 op, 48400.00 ns, 47.2656 ns/op +WorkloadPilot 8: 2048 op, 93300.00 ns, 45.5566 ns/op +WorkloadPilot 9: 4096 op, 192600.00 ns, 47.0215 ns/op +WorkloadPilot 10: 8192 op, 425200.00 ns, 51.9043 ns/op +WorkloadPilot 11: 16384 op, 773400.00 ns, 47.2046 ns/op +WorkloadPilot 12: 32768 op, 1657500.00 ns, 50.5829 ns/op +WorkloadPilot 13: 65536 op, 3048300.00 ns, 46.5134 ns/op +WorkloadPilot 14: 131072 op, 5887300.00 ns, 44.9165 ns/op +WorkloadPilot 15: 262144 op, 12389800.00 ns, 47.2633 ns/op +WorkloadPilot 16: 524288 op, 21362700.00 ns, 40.7461 ns/op +WorkloadPilot 17: 1048576 op, 40172100.00 ns, 38.3111 ns/op +WorkloadPilot 18: 2097152 op, 76552400.00 ns, 36.5030 ns/op +WorkloadPilot 19: 4194304 op, 179980300.00 ns, 42.9106 ns/op +WorkloadPilot 20: 8388608 op, 291961600.00 ns, 34.8045 ns/op +WorkloadPilot 21: 16777216 op, 579614500.00 ns, 34.5477 ns/op + +OverheadWarmup 1: 16777216 op, 25519500.00 ns, 1.5211 ns/op +OverheadWarmup 2: 16777216 op, 25509100.00 ns, 1.5205 ns/op +OverheadWarmup 3: 16777216 op, 25978100.00 ns, 1.5484 ns/op +OverheadWarmup 4: 16777216 op, 25570300.00 ns, 1.5241 ns/op +OverheadWarmup 5: 16777216 op, 25553100.00 ns, 1.5231 ns/op +OverheadWarmup 6: 16777216 op, 25481600.00 ns, 1.5188 ns/op +OverheadWarmup 7: 16777216 op, 25549900.00 ns, 1.5229 ns/op +OverheadWarmup 8: 16777216 op, 25499900.00 ns, 1.5199 ns/op + +OverheadActual 1: 16777216 op, 25486200.00 ns, 1.5191 ns/op +OverheadActual 2: 16777216 op, 25555900.00 ns, 1.5233 ns/op +OverheadActual 3: 16777216 op, 25498200.00 ns, 1.5198 ns/op +OverheadActual 4: 16777216 op, 25682500.00 ns, 1.5308 ns/op +OverheadActual 5: 16777216 op, 25475600.00 ns, 1.5185 ns/op +OverheadActual 6: 16777216 op, 25585300.00 ns, 1.5250 ns/op +OverheadActual 7: 16777216 op, 25512000.00 ns, 1.5206 ns/op +OverheadActual 8: 16777216 op, 25740800.00 ns, 1.5343 ns/op +OverheadActual 9: 16777216 op, 21781800.00 ns, 1.2983 ns/op +OverheadActual 10: 16777216 op, 17709500.00 ns, 1.0556 ns/op +OverheadActual 11: 16777216 op, 17733800.00 ns, 1.0570 ns/op +OverheadActual 12: 16777216 op, 18717000.00 ns, 1.1156 ns/op +OverheadActual 13: 16777216 op, 17818100.00 ns, 1.0620 ns/op +OverheadActual 14: 16777216 op, 17916100.00 ns, 1.0679 ns/op +OverheadActual 15: 16777216 op, 17855700.00 ns, 1.0643 ns/op +OverheadActual 16: 16777216 op, 17628900.00 ns, 1.0508 ns/op +OverheadActual 17: 16777216 op, 17604800.00 ns, 1.0493 ns/op +OverheadActual 18: 16777216 op, 17616300.00 ns, 1.0500 ns/op +OverheadActual 19: 16777216 op, 17638700.00 ns, 1.0513 ns/op +OverheadActual 20: 16777216 op, 17610500.00 ns, 1.0497 ns/op + +WorkloadWarmup 1: 16777216 op, 583100100.00 ns, 34.7555 ns/op +WorkloadWarmup 2: 16777216 op, 582669000.00 ns, 34.7298 ns/op +WorkloadWarmup 3: 16777216 op, 578880700.00 ns, 34.5040 ns/op +WorkloadWarmup 4: 16777216 op, 582855100.00 ns, 34.7409 ns/op +WorkloadWarmup 5: 16777216 op, 640676100.00 ns, 38.1873 ns/op +WorkloadWarmup 6: 16777216 op, 751046300.00 ns, 44.7658 ns/op +WorkloadWarmup 7: 16777216 op, 758875400.00 ns, 45.2325 ns/op +WorkloadWarmup 8: 16777216 op, 634203600.00 ns, 37.8015 ns/op +WorkloadWarmup 9: 16777216 op, 590449900.00 ns, 35.1936 ns/op +WorkloadWarmup 10: 16777216 op, 581705700.00 ns, 34.6724 ns/op +WorkloadWarmup 11: 16777216 op, 623956800.00 ns, 37.1907 ns/op +WorkloadWarmup 12: 16777216 op, 577615600.00 ns, 34.4286 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 579908700.00 ns, 34.5653 ns/op +WorkloadActual 2: 16777216 op, 687118500.00 ns, 40.9555 ns/op +WorkloadActual 3: 16777216 op, 580301900.00 ns, 34.5887 ns/op +WorkloadActual 4: 16777216 op, 714682300.00 ns, 42.5984 ns/op +WorkloadActual 5: 16777216 op, 581699700.00 ns, 34.6720 ns/op +WorkloadActual 6: 16777216 op, 621246500.00 ns, 37.0292 ns/op +WorkloadActual 7: 16777216 op, 601205900.00 ns, 35.8347 ns/op +WorkloadActual 8: 16777216 op, 581206600.00 ns, 34.6426 ns/op +WorkloadActual 9: 16777216 op, 582835700.00 ns, 34.7397 ns/op +WorkloadActual 10: 16777216 op, 633755800.00 ns, 37.7748 ns/op +WorkloadActual 11: 16777216 op, 578123000.00 ns, 34.4588 ns/op +WorkloadActual 12: 16777216 op, 725701400.00 ns, 43.2552 ns/op +WorkloadActual 13: 16777216 op, 775270400.00 ns, 46.2097 ns/op +WorkloadActual 14: 16777216 op, 683779300.00 ns, 40.7564 ns/op +WorkloadActual 15: 16777216 op, 577210400.00 ns, 34.4044 ns/op +WorkloadActual 16: 16777216 op, 579727200.00 ns, 34.5544 ns/op +WorkloadActual 17: 16777216 op, 576278400.00 ns, 34.3489 ns/op +WorkloadActual 18: 16777216 op, 780527500.00 ns, 46.5231 ns/op +WorkloadActual 19: 16777216 op, 759973500.00 ns, 45.2980 ns/op +WorkloadActual 20: 16777216 op, 654635200.00 ns, 39.0193 ns/op +WorkloadActual 21: 16777216 op, 577977700.00 ns, 34.4502 ns/op +WorkloadActual 22: 16777216 op, 576424100.00 ns, 34.3576 ns/op +WorkloadActual 23: 16777216 op, 682638000.00 ns, 40.6884 ns/op +WorkloadActual 24: 16777216 op, 726132100.00 ns, 43.2808 ns/op +WorkloadActual 25: 16777216 op, 620199500.00 ns, 36.9668 ns/op +WorkloadActual 26: 16777216 op, 578933300.00 ns, 34.5071 ns/op +WorkloadActual 27: 16777216 op, 577860800.00 ns, 34.4432 ns/op +WorkloadActual 28: 16777216 op, 683581400.00 ns, 40.7446 ns/op +WorkloadActual 29: 16777216 op, 665245400.00 ns, 39.6517 ns/op +WorkloadActual 30: 16777216 op, 733003600.00 ns, 43.6904 ns/op +WorkloadActual 31: 16777216 op, 591676800.00 ns, 35.2667 ns/op +WorkloadActual 32: 16777216 op, 577634000.00 ns, 34.4297 ns/op +WorkloadActual 33: 16777216 op, 721053900.00 ns, 42.9782 ns/op +WorkloadActual 34: 16777216 op, 661887800.00 ns, 39.4516 ns/op +WorkloadActual 35: 16777216 op, 669879100.00 ns, 39.9279 ns/op +WorkloadActual 36: 16777216 op, 578773300.00 ns, 34.4976 ns/op +WorkloadActual 37: 16777216 op, 578483400.00 ns, 34.4803 ns/op +WorkloadActual 38: 16777216 op, 669182000.00 ns, 39.8864 ns/op +WorkloadActual 39: 16777216 op, 576964300.00 ns, 34.3898 ns/op +WorkloadActual 40: 16777216 op, 579746200.00 ns, 34.5556 ns/op +WorkloadActual 41: 16777216 op, 676556300.00 ns, 40.3259 ns/op +WorkloadActual 42: 16777216 op, 607448400.00 ns, 36.2067 ns/op +WorkloadActual 43: 16777216 op, 581273900.00 ns, 34.6466 ns/op +WorkloadActual 44: 16777216 op, 638724700.00 ns, 38.0710 ns/op +WorkloadActual 45: 16777216 op, 650584900.00 ns, 38.7779 ns/op +WorkloadActual 46: 16777216 op, 582875200.00 ns, 34.7421 ns/op +WorkloadActual 47: 16777216 op, 610088900.00 ns, 36.3641 ns/op +WorkloadActual 48: 16777216 op, 654970800.00 ns, 39.0393 ns/op +WorkloadActual 49: 16777216 op, 619885100.00 ns, 36.9480 ns/op +WorkloadActual 50: 16777216 op, 579117500.00 ns, 34.5181 ns/op +WorkloadActual 51: 16777216 op, 577289200.00 ns, 34.4091 ns/op +WorkloadActual 52: 16777216 op, 614597600.00 ns, 36.6329 ns/op +WorkloadActual 53: 16777216 op, 705733000.00 ns, 42.0650 ns/op +WorkloadActual 54: 16777216 op, 695007300.00 ns, 41.4257 ns/op +WorkloadActual 55: 16777216 op, 760343900.00 ns, 45.3200 ns/op +WorkloadActual 56: 16777216 op, 612418300.00 ns, 36.5030 ns/op +WorkloadActual 57: 16777216 op, 718598900.00 ns, 42.8318 ns/op +WorkloadActual 58: 16777216 op, 665498700.00 ns, 39.6668 ns/op +WorkloadActual 59: 16777216 op, 578450200.00 ns, 34.4783 ns/op +WorkloadActual 60: 16777216 op, 576346900.00 ns, 34.3530 ns/op +WorkloadActual 61: 16777216 op, 679302900.00 ns, 40.4896 ns/op +WorkloadActual 62: 16777216 op, 577532500.00 ns, 34.4236 ns/op +WorkloadActual 63: 16777216 op, 582530400.00 ns, 34.7215 ns/op +WorkloadActual 64: 16777216 op, 726391500.00 ns, 43.2963 ns/op +WorkloadActual 65: 16777216 op, 621307000.00 ns, 37.0328 ns/op +WorkloadActual 66: 16777216 op, 578168000.00 ns, 34.4615 ns/op +WorkloadActual 67: 16777216 op, 580951900.00 ns, 34.6274 ns/op +WorkloadActual 68: 16777216 op, 576654100.00 ns, 34.3713 ns/op +WorkloadActual 69: 16777216 op, 578604300.00 ns, 34.4875 ns/op +WorkloadActual 70: 16777216 op, 578491100.00 ns, 34.4808 ns/op +WorkloadActual 71: 16777216 op, 576765000.00 ns, 34.3779 ns/op +WorkloadActual 72: 16777216 op, 588639000.00 ns, 35.0856 ns/op +WorkloadActual 73: 16777216 op, 621775900.00 ns, 37.0607 ns/op +WorkloadActual 74: 16777216 op, 602062800.00 ns, 35.8857 ns/op +WorkloadActual 75: 16777216 op, 605306600.00 ns, 36.0791 ns/op +WorkloadActual 76: 16777216 op, 607713200.00 ns, 36.2225 ns/op +WorkloadActual 77: 16777216 op, 609162700.00 ns, 36.3089 ns/op +WorkloadActual 78: 16777216 op, 619201800.00 ns, 36.9073 ns/op +WorkloadActual 79: 16777216 op, 595482000.00 ns, 35.4935 ns/op +WorkloadActual 80: 16777216 op, 641153300.00 ns, 38.2157 ns/op +WorkloadActual 81: 16777216 op, 586215900.00 ns, 34.9412 ns/op +WorkloadActual 82: 16777216 op, 579971800.00 ns, 34.5690 ns/op +WorkloadActual 83: 16777216 op, 580672100.00 ns, 34.6108 ns/op +WorkloadActual 84: 16777216 op, 578451000.00 ns, 34.4784 ns/op +WorkloadActual 85: 16777216 op, 583233000.00 ns, 34.7634 ns/op +WorkloadActual 86: 16777216 op, 580535700.00 ns, 34.6026 ns/op +WorkloadActual 87: 16777216 op, 578685000.00 ns, 34.4923 ns/op +WorkloadActual 88: 16777216 op, 605766500.00 ns, 36.1065 ns/op +WorkloadActual 89: 16777216 op, 593124900.00 ns, 35.3530 ns/op +WorkloadActual 90: 16777216 op, 608209000.00 ns, 36.2521 ns/op +WorkloadActual 91: 16777216 op, 580317400.00 ns, 34.5896 ns/op +WorkloadActual 92: 16777216 op, 589564000.00 ns, 35.1408 ns/op +WorkloadActual 93: 16777216 op, 591570100.00 ns, 35.2603 ns/op +WorkloadActual 94: 16777216 op, 578642500.00 ns, 34.4898 ns/op +WorkloadActual 95: 16777216 op, 576770400.00 ns, 34.3782 ns/op +WorkloadActual 96: 16777216 op, 580739200.00 ns, 34.6148 ns/op +WorkloadActual 97: 16777216 op, 577334200.00 ns, 34.4118 ns/op +WorkloadActual 98: 16777216 op, 577636100.00 ns, 34.4298 ns/op +WorkloadActual 99: 16777216 op, 687226700.00 ns, 40.9619 ns/op +WorkloadActual 100: 16777216 op, 877782100.00 ns, 52.3199 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 561592150.00 ns, 33.4735 ns/op +WorkloadResult 2: 16777216 op, 668801950.00 ns, 39.8637 ns/op +WorkloadResult 3: 16777216 op, 561985350.00 ns, 33.4969 ns/op +WorkloadResult 4: 16777216 op, 696365750.00 ns, 41.5066 ns/op +WorkloadResult 5: 16777216 op, 563383150.00 ns, 33.5803 ns/op +WorkloadResult 6: 16777216 op, 602929950.00 ns, 35.9374 ns/op +WorkloadResult 7: 16777216 op, 582889350.00 ns, 34.7429 ns/op +WorkloadResult 8: 16777216 op, 562890050.00 ns, 33.5509 ns/op +WorkloadResult 9: 16777216 op, 564519150.00 ns, 33.6480 ns/op +WorkloadResult 10: 16777216 op, 615439250.00 ns, 36.6830 ns/op +WorkloadResult 11: 16777216 op, 559806450.00 ns, 33.3671 ns/op +WorkloadResult 12: 16777216 op, 707384850.00 ns, 42.1634 ns/op +WorkloadResult 13: 16777216 op, 756953850.00 ns, 45.1180 ns/op +WorkloadResult 14: 16777216 op, 665462750.00 ns, 39.6647 ns/op +WorkloadResult 15: 16777216 op, 558893850.00 ns, 33.3127 ns/op +WorkloadResult 16: 16777216 op, 561410650.00 ns, 33.4627 ns/op +WorkloadResult 17: 16777216 op, 557961850.00 ns, 33.2571 ns/op +WorkloadResult 18: 16777216 op, 762210950.00 ns, 45.4313 ns/op +WorkloadResult 19: 16777216 op, 741656950.00 ns, 44.2062 ns/op +WorkloadResult 20: 16777216 op, 636318650.00 ns, 37.9275 ns/op +WorkloadResult 21: 16777216 op, 559661150.00 ns, 33.3584 ns/op +WorkloadResult 22: 16777216 op, 558107550.00 ns, 33.2658 ns/op +WorkloadResult 23: 16777216 op, 664321450.00 ns, 39.5966 ns/op +WorkloadResult 24: 16777216 op, 707815550.00 ns, 42.1891 ns/op +WorkloadResult 25: 16777216 op, 601882950.00 ns, 35.8750 ns/op +WorkloadResult 26: 16777216 op, 560616750.00 ns, 33.4154 ns/op +WorkloadResult 27: 16777216 op, 559544250.00 ns, 33.3514 ns/op +WorkloadResult 28: 16777216 op, 665264850.00 ns, 39.6529 ns/op +WorkloadResult 29: 16777216 op, 646928850.00 ns, 38.5600 ns/op +WorkloadResult 30: 16777216 op, 714687050.00 ns, 42.5987 ns/op +WorkloadResult 31: 16777216 op, 573360250.00 ns, 34.1749 ns/op +WorkloadResult 32: 16777216 op, 559317450.00 ns, 33.3379 ns/op +WorkloadResult 33: 16777216 op, 702737350.00 ns, 41.8864 ns/op +WorkloadResult 34: 16777216 op, 643571250.00 ns, 38.3598 ns/op +WorkloadResult 35: 16777216 op, 651562550.00 ns, 38.8362 ns/op +WorkloadResult 36: 16777216 op, 560456750.00 ns, 33.4058 ns/op +WorkloadResult 37: 16777216 op, 560166850.00 ns, 33.3885 ns/op +WorkloadResult 38: 16777216 op, 650865450.00 ns, 38.7946 ns/op +WorkloadResult 39: 16777216 op, 558647750.00 ns, 33.2980 ns/op +WorkloadResult 40: 16777216 op, 561429650.00 ns, 33.4638 ns/op +WorkloadResult 41: 16777216 op, 658239750.00 ns, 39.2341 ns/op +WorkloadResult 42: 16777216 op, 589131850.00 ns, 35.1150 ns/op +WorkloadResult 43: 16777216 op, 562957350.00 ns, 33.5549 ns/op +WorkloadResult 44: 16777216 op, 620408150.00 ns, 36.9792 ns/op +WorkloadResult 45: 16777216 op, 632268350.00 ns, 37.6861 ns/op +WorkloadResult 46: 16777216 op, 564558650.00 ns, 33.6503 ns/op +WorkloadResult 47: 16777216 op, 591772350.00 ns, 35.2724 ns/op +WorkloadResult 48: 16777216 op, 636654250.00 ns, 37.9476 ns/op +WorkloadResult 49: 16777216 op, 601568550.00 ns, 35.8563 ns/op +WorkloadResult 50: 16777216 op, 560800950.00 ns, 33.4263 ns/op +WorkloadResult 51: 16777216 op, 558972650.00 ns, 33.3174 ns/op +WorkloadResult 52: 16777216 op, 596281050.00 ns, 35.5411 ns/op +WorkloadResult 53: 16777216 op, 687416450.00 ns, 40.9732 ns/op +WorkloadResult 54: 16777216 op, 676690750.00 ns, 40.3339 ns/op +WorkloadResult 55: 16777216 op, 742027350.00 ns, 44.2283 ns/op +WorkloadResult 56: 16777216 op, 594101750.00 ns, 35.4112 ns/op +WorkloadResult 57: 16777216 op, 700282350.00 ns, 41.7401 ns/op +WorkloadResult 58: 16777216 op, 647182150.00 ns, 38.5751 ns/op +WorkloadResult 59: 16777216 op, 560133650.00 ns, 33.3866 ns/op +WorkloadResult 60: 16777216 op, 558030350.00 ns, 33.2612 ns/op +WorkloadResult 61: 16777216 op, 660986350.00 ns, 39.3979 ns/op +WorkloadResult 62: 16777216 op, 559215950.00 ns, 33.3319 ns/op +WorkloadResult 63: 16777216 op, 564213850.00 ns, 33.6298 ns/op +WorkloadResult 64: 16777216 op, 708074950.00 ns, 42.2046 ns/op +WorkloadResult 65: 16777216 op, 602990450.00 ns, 35.9410 ns/op +WorkloadResult 66: 16777216 op, 559851450.00 ns, 33.3697 ns/op +WorkloadResult 67: 16777216 op, 562635350.00 ns, 33.5357 ns/op +WorkloadResult 68: 16777216 op, 558337550.00 ns, 33.2795 ns/op +WorkloadResult 69: 16777216 op, 560287750.00 ns, 33.3958 ns/op +WorkloadResult 70: 16777216 op, 560174550.00 ns, 33.3890 ns/op +WorkloadResult 71: 16777216 op, 558448450.00 ns, 33.2861 ns/op +WorkloadResult 72: 16777216 op, 570322450.00 ns, 33.9939 ns/op +WorkloadResult 73: 16777216 op, 603459350.00 ns, 35.9690 ns/op +WorkloadResult 74: 16777216 op, 583746250.00 ns, 34.7940 ns/op +WorkloadResult 75: 16777216 op, 586990050.00 ns, 34.9873 ns/op +WorkloadResult 76: 16777216 op, 589396650.00 ns, 35.1308 ns/op +WorkloadResult 77: 16777216 op, 590846150.00 ns, 35.2172 ns/op +WorkloadResult 78: 16777216 op, 600885250.00 ns, 35.8156 ns/op +WorkloadResult 79: 16777216 op, 577165450.00 ns, 34.4017 ns/op +WorkloadResult 80: 16777216 op, 622836750.00 ns, 37.1240 ns/op +WorkloadResult 81: 16777216 op, 567899350.00 ns, 33.8494 ns/op +WorkloadResult 82: 16777216 op, 561655250.00 ns, 33.4773 ns/op +WorkloadResult 83: 16777216 op, 562355550.00 ns, 33.5190 ns/op +WorkloadResult 84: 16777216 op, 560134450.00 ns, 33.3866 ns/op +WorkloadResult 85: 16777216 op, 564916450.00 ns, 33.6716 ns/op +WorkloadResult 86: 16777216 op, 562219150.00 ns, 33.5109 ns/op +WorkloadResult 87: 16777216 op, 560368450.00 ns, 33.4006 ns/op +WorkloadResult 88: 16777216 op, 587449950.00 ns, 35.0147 ns/op +WorkloadResult 89: 16777216 op, 574808350.00 ns, 34.2612 ns/op +WorkloadResult 90: 16777216 op, 589892450.00 ns, 35.1603 ns/op +WorkloadResult 91: 16777216 op, 562000850.00 ns, 33.4979 ns/op +WorkloadResult 92: 16777216 op, 571247450.00 ns, 34.0490 ns/op +WorkloadResult 93: 16777216 op, 573253550.00 ns, 34.1686 ns/op +WorkloadResult 94: 16777216 op, 560325950.00 ns, 33.3980 ns/op +WorkloadResult 95: 16777216 op, 558453850.00 ns, 33.2864 ns/op +WorkloadResult 96: 16777216 op, 562422650.00 ns, 33.5230 ns/op +WorkloadResult 97: 16777216 op, 559017650.00 ns, 33.3200 ns/op +WorkloadResult 98: 16777216 op, 559319550.00 ns, 33.3380 ns/op +WorkloadResult 99: 16777216 op, 668910150.00 ns, 39.8702 ns/op +// GC: 35 0 0 671088640 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 6708 has exited with code 0. + +Mean = 35.966 ns, StdErr = 0.333 ns (0.92%), N = 99, StdDev = 3.309 ns +Min = 33.257 ns, Q1 = 33.411 ns, Median = 34.261 ns, Q3 = 38.154 ns, Max = 45.431 ns +IQR = 4.743 ns, LowerFence = 26.296 ns, UpperFence = 45.268 ns +ConfidenceInterval = [34.837 ns; 37.094 ns] (CI 99.9%), Margin = 1.128 ns (3.14% of Mean) +Skewness = 1.17, Kurtosis = 3.25, MValue = 2.62 + +// ** Remained 17 (53.1%) benchmark(s) to run. Estimated finish 2026-02-23 19:59 (0h 8m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1828 1680 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.NewArrayBlockCopy(ArraySize: 16)" --job ".NET 10.0" --benchmarkId 8 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 81500.00 ns, 81.5000 us/op +WorkloadJitting 1: 1 op, 200800.00 ns, 200.8000 us/op + +OverheadJitting 2: 16 op, 125600.00 ns, 7.8500 us/op +WorkloadJitting 2: 16 op, 108200.00 ns, 6.7625 us/op + +WorkloadPilot 1: 16 op, 1500.00 ns, 93.7500 ns/op +WorkloadPilot 2: 32 op, 1100.00 ns, 34.3750 ns/op +WorkloadPilot 3: 64 op, 3800.00 ns, 59.3750 ns/op +WorkloadPilot 4: 128 op, 9700.00 ns, 75.7813 ns/op +WorkloadPilot 5: 256 op, 12200.00 ns, 47.6563 ns/op +WorkloadPilot 6: 512 op, 10000.00 ns, 19.5313 ns/op +WorkloadPilot 7: 1024 op, 19200.00 ns, 18.7500 ns/op +WorkloadPilot 8: 2048 op, 32500.00 ns, 15.8691 ns/op +WorkloadPilot 9: 4096 op, 58500.00 ns, 14.2822 ns/op +WorkloadPilot 10: 8192 op, 129600.00 ns, 15.8203 ns/op +WorkloadPilot 11: 16384 op, 312900.00 ns, 19.0979 ns/op +WorkloadPilot 12: 32768 op, 613900.00 ns, 18.7347 ns/op +WorkloadPilot 13: 65536 op, 1871300.00 ns, 28.5538 ns/op +WorkloadPilot 14: 131072 op, 2070900.00 ns, 15.7997 ns/op +WorkloadPilot 15: 262144 op, 4303000.00 ns, 16.4146 ns/op +WorkloadPilot 16: 524288 op, 8243800.00 ns, 15.7238 ns/op +WorkloadPilot 17: 1048576 op, 9344800.00 ns, 8.9119 ns/op +WorkloadPilot 18: 2097152 op, 21884000.00 ns, 10.4351 ns/op +WorkloadPilot 19: 4194304 op, 38077900.00 ns, 9.0785 ns/op +WorkloadPilot 20: 8388608 op, 76529500.00 ns, 9.1230 ns/op +WorkloadPilot 21: 16777216 op, 118531000.00 ns, 7.0650 ns/op +WorkloadPilot 22: 33554432 op, 232564200.00 ns, 6.9310 ns/op +WorkloadPilot 23: 67108864 op, 467833600.00 ns, 6.9713 ns/op +WorkloadPilot 24: 134217728 op, 916776700.00 ns, 6.8305 ns/op + +OverheadWarmup 1: 134217728 op, 202566700.00 ns, 1.5092 ns/op +OverheadWarmup 2: 134217728 op, 144902100.00 ns, 1.0796 ns/op +OverheadWarmup 3: 134217728 op, 141043800.00 ns, 1.0509 ns/op +OverheadWarmup 4: 134217728 op, 141300400.00 ns, 1.0528 ns/op +OverheadWarmup 5: 134217728 op, 141423600.00 ns, 1.0537 ns/op +OverheadWarmup 6: 134217728 op, 141380200.00 ns, 1.0534 ns/op +OverheadWarmup 7: 134217728 op, 140919400.00 ns, 1.0499 ns/op +OverheadWarmup 8: 134217728 op, 141078500.00 ns, 1.0511 ns/op +OverheadWarmup 9: 134217728 op, 140931700.00 ns, 1.0500 ns/op + +OverheadActual 1: 134217728 op, 145738000.00 ns, 1.0858 ns/op +OverheadActual 2: 134217728 op, 141107700.00 ns, 1.0513 ns/op +OverheadActual 3: 134217728 op, 148367300.00 ns, 1.1054 ns/op +OverheadActual 4: 134217728 op, 161110600.00 ns, 1.2004 ns/op +OverheadActual 5: 134217728 op, 146146100.00 ns, 1.0889 ns/op +OverheadActual 6: 134217728 op, 141310700.00 ns, 1.0528 ns/op +OverheadActual 7: 134217728 op, 141147000.00 ns, 1.0516 ns/op +OverheadActual 8: 134217728 op, 149000800.00 ns, 1.1101 ns/op +OverheadActual 9: 134217728 op, 142366900.00 ns, 1.0607 ns/op +OverheadActual 10: 134217728 op, 147927400.00 ns, 1.1021 ns/op +OverheadActual 11: 134217728 op, 160739300.00 ns, 1.1976 ns/op +OverheadActual 12: 134217728 op, 173173500.00 ns, 1.2902 ns/op +OverheadActual 13: 134217728 op, 146182100.00 ns, 1.0891 ns/op +OverheadActual 14: 134217728 op, 141433000.00 ns, 1.0538 ns/op +OverheadActual 15: 134217728 op, 155173300.00 ns, 1.1561 ns/op +OverheadActual 16: 134217728 op, 193422600.00 ns, 1.4411 ns/op +OverheadActual 17: 134217728 op, 176362500.00 ns, 1.3140 ns/op +OverheadActual 18: 134217728 op, 142158800.00 ns, 1.0592 ns/op +OverheadActual 19: 134217728 op, 143141300.00 ns, 1.0665 ns/op +OverheadActual 20: 134217728 op, 141015500.00 ns, 1.0506 ns/op + +WorkloadWarmup 1: 134217728 op, 857807100.00 ns, 6.3912 ns/op +WorkloadWarmup 2: 134217728 op, 884151500.00 ns, 6.5874 ns/op +WorkloadWarmup 3: 134217728 op, 872560600.00 ns, 6.5011 ns/op +WorkloadWarmup 4: 134217728 op, 937152100.00 ns, 6.9823 ns/op +WorkloadWarmup 5: 134217728 op, 873269400.00 ns, 6.5064 ns/op +WorkloadWarmup 6: 134217728 op, 846235500.00 ns, 6.3049 ns/op + +// BeforeActualRun +WorkloadActual 1: 134217728 op, 958795900.00 ns, 7.1436 ns/op +WorkloadActual 2: 134217728 op, 916237900.00 ns, 6.8265 ns/op +WorkloadActual 3: 134217728 op, 888874100.00 ns, 6.6226 ns/op +WorkloadActual 4: 134217728 op, 877923700.00 ns, 6.5410 ns/op +WorkloadActual 5: 134217728 op, 862480700.00 ns, 6.4260 ns/op +WorkloadActual 6: 134217728 op, 944951500.00 ns, 7.0404 ns/op +WorkloadActual 7: 134217728 op, 921535600.00 ns, 6.8660 ns/op +WorkloadActual 8: 134217728 op, 895944500.00 ns, 6.6753 ns/op +WorkloadActual 9: 134217728 op, 907681800.00 ns, 6.7628 ns/op +WorkloadActual 10: 134217728 op, 879133000.00 ns, 6.5501 ns/op +WorkloadActual 11: 134217728 op, 859943600.00 ns, 6.4071 ns/op +WorkloadActual 12: 134217728 op, 979075900.00 ns, 7.2947 ns/op +WorkloadActual 13: 134217728 op, 891986900.00 ns, 6.6458 ns/op +WorkloadActual 14: 134217728 op, 903000900.00 ns, 6.7279 ns/op +WorkloadActual 15: 134217728 op, 910039900.00 ns, 6.7803 ns/op +WorkloadActual 16: 134217728 op, 856633900.00 ns, 6.3824 ns/op +WorkloadActual 17: 134217728 op, 925123800.00 ns, 6.8927 ns/op +WorkloadActual 18: 134217728 op, 966362200.00 ns, 7.2000 ns/op +WorkloadActual 19: 134217728 op, 915676300.00 ns, 6.8223 ns/op +WorkloadActual 20: 134217728 op, 898109600.00 ns, 6.6914 ns/op +WorkloadActual 21: 134217728 op, 863490900.00 ns, 6.4335 ns/op +WorkloadActual 22: 134217728 op, 955269700.00 ns, 7.1173 ns/op +WorkloadActual 23: 134217728 op, 867837000.00 ns, 6.4659 ns/op +WorkloadActual 24: 134217728 op, 869337300.00 ns, 6.4771 ns/op +WorkloadActual 25: 134217728 op, 945508400.00 ns, 7.0446 ns/op +WorkloadActual 26: 134217728 op, 970557400.00 ns, 7.2312 ns/op +WorkloadActual 27: 134217728 op, 973108300.00 ns, 7.2502 ns/op +WorkloadActual 28: 134217728 op, 958333400.00 ns, 7.1401 ns/op +WorkloadActual 29: 134217728 op, 901649900.00 ns, 6.7178 ns/op +WorkloadActual 30: 134217728 op, 938944800.00 ns, 6.9957 ns/op +WorkloadActual 31: 134217728 op, 896093100.00 ns, 6.6764 ns/op +WorkloadActual 32: 134217728 op, 872296100.00 ns, 6.4991 ns/op +WorkloadActual 33: 134217728 op, 989523900.00 ns, 7.3725 ns/op +WorkloadActual 34: 134217728 op, 1011587100.00 ns, 7.5369 ns/op +WorkloadActual 35: 134217728 op, 858765100.00 ns, 6.3983 ns/op +WorkloadActual 36: 134217728 op, 878963400.00 ns, 6.5488 ns/op +WorkloadActual 37: 134217728 op, 853243700.00 ns, 6.3572 ns/op +WorkloadActual 38: 134217728 op, 818942700.00 ns, 6.1016 ns/op +WorkloadActual 39: 134217728 op, 831015800.00 ns, 6.1916 ns/op +WorkloadActual 40: 134217728 op, 856980800.00 ns, 6.3850 ns/op +WorkloadActual 41: 134217728 op, 886557400.00 ns, 6.6054 ns/op +WorkloadActual 42: 134217728 op, 827236400.00 ns, 6.1634 ns/op +WorkloadActual 43: 134217728 op, 843537900.00 ns, 6.2848 ns/op +WorkloadActual 44: 134217728 op, 841280700.00 ns, 6.2680 ns/op +WorkloadActual 45: 134217728 op, 880249900.00 ns, 6.5584 ns/op +WorkloadActual 46: 134217728 op, 866628400.00 ns, 6.4569 ns/op +WorkloadActual 47: 134217728 op, 859645400.00 ns, 6.4049 ns/op +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) diff --git a/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-195212.log b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-195212.log new file mode 100644 index 000000000..3d4cbc0e9 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BenchmarkRun-20260223-195212.log @@ -0,0 +1,4557 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 26 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.9 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 4.82 sec and exited with 0 +// ***** Done, took 00:00:05 (5.81 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.91 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 3.4 sec and exited with 0 +// ***** Done, took 00:00:04 (4.33 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2592 2588 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 79300.00 ns, 79.3000 us/op +WorkloadJitting 1: 1 op, 122000.00 ns, 122.0000 us/op + +OverheadWarmup 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 3: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadWarmup 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 5: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 7: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 5: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 7: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 8: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 9: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 19: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 22: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 23: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 25: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 31: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 40: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 43: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 45: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 48: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 49: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 51: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 52: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 56: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 57: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 59: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 63: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 65: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 66: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 67: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 70: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 71: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 72: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 74: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 75: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 79: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 80: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 81: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 82: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 85: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 86: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 87: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 88: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 89: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 91: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 92: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 95: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 96: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 97: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 98: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 99: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 100: 1 op, 900.00 ns, 900.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 5: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 7: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 8: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 13: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 18: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 19: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 28: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 33: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 37: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 39: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 45: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 47: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 48: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 51: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 52: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 53: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 54: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 56: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 59: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 60: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 62: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 63: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 65: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 66: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 67: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 70: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 71: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 72: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 74: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 76: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 77: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 78: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 80: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 81: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 83: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 85: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 86: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 87: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 88: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 93: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 94: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 95: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 96: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 97: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 98: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 99: 1 op, 800.00 ns, 800.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 120196 has exited with code 0. + +Mean = 883.838 ns, StdErr = 23.183 ns (2.62%), N = 99, StdDev = 230.663 ns +Min = 600.000 ns, Q1 = 700.000 ns, Median = 800.000 ns, Q3 = 1,100.000 ns, Max = 1,400.000 ns +IQR = 400.000 ns, LowerFence = 100.000 ns, UpperFence = 1,700.000 ns +ConfidenceInterval = [805.190 ns; 962.487 ns] (CI 99.9%), Margin = 78.649 ns (8.90% of Mean) +Skewness = 0.47, Kurtosis = 1.86, MValue = 4.1 + +// ** Remained 25 (96.2%) benchmark(s) to run. Estimated finish 2026-02-23 19:52 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2604 2596 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 76700.00 ns, 76.7000 us/op +WorkloadJitting 1: 1 op, 937500.00 ns, 937.5000 us/op + +OverheadWarmup 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadWarmup 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 9: 1 op, 500.00 ns, 500.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 9: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 20: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 21: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 22: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 23: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 32: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 39: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 45: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 47: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 48: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 49: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 51: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 52: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 53: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 54: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 55: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 57: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 58: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 60: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 62: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 65: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 68: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 69: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 70: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 71: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 72: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 74: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 76: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 77: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 80: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 81: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 82: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 83: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 84: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 85: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 86: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 87: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 88: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 89: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 90: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 93: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 95: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 96: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 98: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 99: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 100: 1 op, 700.00 ns, 700.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 9: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 11: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 14: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 16: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 31: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 38: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 41: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 44: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 46: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 47: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 51: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 55: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 56: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 59: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 68: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 70: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 71: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 72: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 73: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 74: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 75: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 76: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 77: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 78: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 79: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 80: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 82: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 83: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 86: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 87: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 88: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 89: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 90: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 91: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 92: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 94: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 95: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 96: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 97: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 98: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 99: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 100: 1 op, 600.00 ns, 600.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 119728 has exited with code 0. + +Mean = 422.000 ns, StdErr = 11.244 ns (2.66%), N = 100, StdDev = 112.439 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 600.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [383.866 ns; 460.134 ns] (CI 99.9%), Margin = 38.134 ns (9.04% of Mean) +Skewness = 0.33, Kurtosis = 1.68, MValue = 5.56 + +// ** Remained 24 (92.3%) benchmark(s) to run. Estimated finish 2026-02-23 19:52 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2052 2668 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 131600.00 ns, 131.6000 us/op +WorkloadJitting 1: 1 op, 101300.00 ns, 101.3000 us/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 7: 1 op, 700.00 ns, 700.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 6: 1 op, 7700.00 ns, 7.7000 us/op +WorkloadActual 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 11: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 3200.00 ns, 3.2000 us/op +WorkloadActual 30: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 33: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 35: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 36: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 37: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 40: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 41: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 42: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 43: 1 op, 4100.00 ns, 4.1000 us/op +WorkloadActual 44: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 45: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 46: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 47: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 48: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 49: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 51: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadActual 52: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 53: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 54: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 55: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 56: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 57: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 58: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 61: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 62: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 63: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 64: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 65: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 66: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 69: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 71: 1 op, 3300.00 ns, 3.3000 us/op +WorkloadActual 72: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 73: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 74: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 75: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 76: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 77: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 80: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadActual 81: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 82: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 83: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 84: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 85: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 86: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 87: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 88: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 89: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadActual 90: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 91: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 92: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 95: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 96: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 97: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 98: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 99: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 100: 1 op, 1400.00 ns, 1.4000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 3: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 10: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 19: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 21: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 22: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 26: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadResult 29: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 31: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 32: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 33: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 35: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 36: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 39: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 41: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 42: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 43: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 44: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 45: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 46: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 47: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 48: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 49: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadResult 50: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 51: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 52: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 53: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 54: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadResult 55: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 59: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 60: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 61: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 62: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 63: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 64: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 66: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadResult 67: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 3200.00 ns, 3.2000 us/op +WorkloadResult 70: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 71: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 72: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 73: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 74: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 75: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 77: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 78: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadResult 79: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 80: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 81: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 82: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 83: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 84: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 87: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadResult 88: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 89: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 90: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 91: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 93: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 95: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 96: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 97: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 98: 1 op, 1300.00 ns, 1.3000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 100476 has exited with code 0. + +Mean = 1.481 μs, StdErr = 0.069 μs (4.64%), N = 98, StdDev = 0.680 μs +Min = 0.500 μs, Q1 = 0.900 μs, Median = 1.400 μs, Q3 = 1.800 μs, Max = 3.200 μs +IQR = 0.900 μs, LowerFence = -0.450 μs, UpperFence = 3.150 μs +ConfidenceInterval = [1.248 μs; 1.714 μs] (CI 99.9%), Margin = 0.233 μs (15.73% of Mean) +Skewness = 0.79, Kurtosis = 2.77, MValue = 4.06 + +// ** Remained 23 (88.5%) benchmark(s) to run. Estimated finish 2026-02-23 19:52 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2664 2676 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 126000.00 ns, 126.0000 us/op +WorkloadJitting 1: 1 op, 1897000.00 ns, 1.8970 ms/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 4400.00 ns, 4.4000 us/op +WorkloadWarmup 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 8: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadWarmup 9: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 10: 1 op, 300.00 ns, 300.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 12: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 14: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 16: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 18: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 21: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 22: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 23: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 25: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 26: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 29: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 31: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 32: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 33: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 37: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 39: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 44: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 45: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 48: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 49: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 50: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 53: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 59: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 61: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 62: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 64: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 65: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 66: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 68: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 69: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 71: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 75: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 76: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 78: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 79: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 82: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 86: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 91: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 92: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 93: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 96: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 98: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 99: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 100: 1 op, 200.00 ns, 200.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 13: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 15: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 16: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 20: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 21: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 22: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 24: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 25: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 26: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 27: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 28: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 29: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 30: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 31: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 32: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 33: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 34: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 36: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 38: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 39: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 40: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 41: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 43: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 44: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 45: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 46: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 47: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 48: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 49: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 50: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 52: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 53: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 54: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 56: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 58: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 61: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 62: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 63: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 70: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 71: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 72: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 75: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 76: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 77: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 78: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 79: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 80: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 81: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 82: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 83: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 85: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 86: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 87: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 88: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 89: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 91: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 93: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 94: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 95: 1 op, 100.00 ns, 100.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 115932 has exited with code 0. + +Mean = 142.105 ns, StdErr = 9.295 ns (6.54%), N = 95, StdDev = 90.600 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [110.529 ns; 173.682 ns] (CI 99.9%), Margin = 31.577 ns (22.22% of Mean) +Skewness = 0.45, Kurtosis = 2.31, MValue = 3.88 + +// ** Remained 22 (84.6%) benchmark(s) to run. Estimated finish 2026-02-23 19:52 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 883.838 ns, StdErr = 23.183 ns (2.62%), N = 99, StdDev = 230.663 ns +Min = 600.000 ns, Q1 = 700.000 ns, Median = 800.000 ns, Q3 = 1,100.000 ns, Max = 1,400.000 ns +IQR = 400.000 ns, LowerFence = 100.000 ns, UpperFence = 1,700.000 ns +ConfidenceInterval = [805.190 ns; 962.487 ns] (CI 99.9%), Margin = 78.649 ns (8.90% of Mean) +Skewness = 0.47, Kurtosis = 1.86, MValue = 4.1 +-------------------- Histogram -------------------- +[ 534.557 ns ; 684.557 ns) | @@@@@@@@@@@@@@@ +[ 684.557 ns ; 815.443 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 815.443 ns ; 884.557 ns) | +[ 884.557 ns ; 1,015.443 ns) | @@@@@@@@@@@@@ +[1,015.443 ns ; 1,084.557 ns) | +[1,084.557 ns ; 1,215.443 ns) | @@@@@@@@@@@@@@@@@@@@@@@ +[1,215.443 ns ; 1,284.557 ns) | +[1,284.557 ns ; 1,415.443 ns) | @@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 422.000 ns, StdErr = 11.244 ns (2.66%), N = 100, StdDev = 112.439 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 600.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [383.866 ns; 460.134 ns] (CI 99.9%), Margin = 38.134 ns (9.04% of Mean) +Skewness = 0.33, Kurtosis = 1.68, MValue = 5.56 +-------------------- Histogram -------------------- +[268.206 ns ; 331.794 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[331.794 ns ; 368.206 ns) | +[368.206 ns ; 431.794 ns) | @@@@@@@@@@@@@@@@@@@@@@@@ +[431.794 ns ; 468.206 ns) | +[468.206 ns ; 531.794 ns) | @@@@@@@@@@@@@@@@@@@@@@ +[531.794 ns ; 568.206 ns) | +[568.206 ns ; 631.794 ns) | @@@@@@@@@@@@@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.481 μs, StdErr = 0.069 μs (4.64%), N = 98, StdDev = 0.680 μs +Min = 0.500 μs, Q1 = 0.900 μs, Median = 1.400 μs, Q3 = 1.800 μs, Max = 3.200 μs +IQR = 0.900 μs, LowerFence = -0.450 μs, UpperFence = 3.150 μs +ConfidenceInterval = [1.248 μs; 1.714 μs] (CI 99.9%), Margin = 0.233 μs (15.73% of Mean) +Skewness = 0.79, Kurtosis = 2.77, MValue = 4.06 +-------------------- Histogram -------------------- +[0.307 μs ; 0.657 μs) | @@ +[0.657 μs ; 1.043 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.043 μs ; 1.257 μs) | @@@@ +[1.257 μs ; 1.643 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.643 μs ; 2.057 μs) | @@@@@@@@@@ +[2.057 μs ; 2.443 μs) | @@@@@@@@@ +[2.443 μs ; 2.657 μs) | @@ +[2.657 μs ; 3.043 μs) | @@@@@@@ +[3.043 μs ; 3.393 μs) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 142.105 ns, StdErr = 9.295 ns (6.54%), N = 95, StdDev = 90.600 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [110.529 ns; 173.682 ns] (CI 99.9%), Margin = 31.577 ns (22.22% of Mean) +Skewness = 0.45, Kurtosis = 2.31, MValue = 3.88 +-------------------- Histogram -------------------- +[ 0.000 ns ; 26.061 ns) | @@@@@@@@@@@ +[ 26.061 ns ; 73.939 ns) | +[ 73.939 ns ; 126.061 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[126.061 ns ; 173.939 ns) | +[173.939 ns ; 226.061 ns) | @@@@@@@@@@@@@@@@@@@ +[226.061 ns ; 273.939 ns) | +[273.939 ns ; 326.061 ns) | @@@@@@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 883.8 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 422.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,480.6 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 142.1 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is bimodal (mValue = 4.1) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 5.56) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 4.06) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.88) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 700ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 400ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 1 outlier was removed (2.20 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 2 outliers were removed (4.10 μs, 7.70 μs) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> 5 outliers were removed (500.00 ns..600.00 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.26 sec), executed benchmarks: 4 + +// Found 10 benchmarks: +// ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +// ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2244 2096 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneSmall16Bytes --job ".NET 10.0" --benchmarkId 2 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 80700.00 ns, 80.7000 us/op +WorkloadJitting 1: 1 op, 813200.00 ns, 813.2000 us/op + +OverheadJitting 2: 16 op, 123400.00 ns, 7.7125 us/op +WorkloadJitting 2: 16 op, 112400.00 ns, 7.0250 us/op + +WorkloadPilot 1: 16 op, 2100.00 ns, 131.2500 ns/op +WorkloadPilot 2: 32 op, 2300.00 ns, 71.8750 ns/op +WorkloadPilot 3: 64 op, 4200.00 ns, 65.6250 ns/op +WorkloadPilot 4: 128 op, 7200.00 ns, 56.2500 ns/op +WorkloadPilot 5: 256 op, 16300.00 ns, 63.6719 ns/op +WorkloadPilot 6: 512 op, 21500.00 ns, 41.9922 ns/op +WorkloadPilot 7: 1024 op, 54100.00 ns, 52.8320 ns/op +WorkloadPilot 8: 2048 op, 98800.00 ns, 48.2422 ns/op +WorkloadPilot 9: 4096 op, 198800.00 ns, 48.5352 ns/op +WorkloadPilot 10: 8192 op, 441700.00 ns, 53.9185 ns/op +WorkloadPilot 11: 16384 op, 797000.00 ns, 48.6450 ns/op +WorkloadPilot 12: 32768 op, 1641100.00 ns, 50.0824 ns/op +WorkloadPilot 13: 65536 op, 3612400.00 ns, 55.1208 ns/op +WorkloadPilot 14: 131072 op, 6636400.00 ns, 50.6317 ns/op +WorkloadPilot 15: 262144 op, 12753800.00 ns, 48.6519 ns/op +WorkloadPilot 16: 524288 op, 22822900.00 ns, 43.5312 ns/op +WorkloadPilot 17: 1048576 op, 43354400.00 ns, 41.3460 ns/op +WorkloadPilot 18: 2097152 op, 78517200.00 ns, 37.4399 ns/op +WorkloadPilot 19: 4194304 op, 149416500.00 ns, 35.6237 ns/op +WorkloadPilot 20: 8388608 op, 285437200.00 ns, 34.0268 ns/op +WorkloadPilot 21: 16777216 op, 573461300.00 ns, 34.1810 ns/op + +OverheadWarmup 1: 16777216 op, 25301100.00 ns, 1.5081 ns/op +OverheadWarmup 2: 16777216 op, 25283000.00 ns, 1.5070 ns/op +OverheadWarmup 3: 16777216 op, 25639100.00 ns, 1.5282 ns/op +OverheadWarmup 4: 16777216 op, 25301200.00 ns, 1.5081 ns/op +OverheadWarmup 5: 16777216 op, 25280900.00 ns, 1.5069 ns/op +OverheadWarmup 6: 16777216 op, 25271700.00 ns, 1.5063 ns/op +OverheadWarmup 7: 16777216 op, 25265600.00 ns, 1.5059 ns/op +OverheadWarmup 8: 16777216 op, 25328100.00 ns, 1.5097 ns/op +OverheadWarmup 9: 16777216 op, 23545600.00 ns, 1.4034 ns/op + +OverheadActual 1: 16777216 op, 17654500.00 ns, 1.0523 ns/op +OverheadActual 2: 16777216 op, 17615600.00 ns, 1.0500 ns/op +OverheadActual 3: 16777216 op, 17628700.00 ns, 1.0508 ns/op +OverheadActual 4: 16777216 op, 17634600.00 ns, 1.0511 ns/op +OverheadActual 5: 16777216 op, 17617900.00 ns, 1.0501 ns/op +OverheadActual 6: 16777216 op, 17639900.00 ns, 1.0514 ns/op +OverheadActual 7: 16777216 op, 17622500.00 ns, 1.0504 ns/op +OverheadActual 8: 16777216 op, 17678700.00 ns, 1.0537 ns/op +OverheadActual 9: 16777216 op, 17616200.00 ns, 1.0500 ns/op +OverheadActual 10: 16777216 op, 17616300.00 ns, 1.0500 ns/op +OverheadActual 11: 16777216 op, 17613000.00 ns, 1.0498 ns/op +OverheadActual 12: 16777216 op, 17665400.00 ns, 1.0529 ns/op +OverheadActual 13: 16777216 op, 17631000.00 ns, 1.0509 ns/op +OverheadActual 14: 16777216 op, 17966400.00 ns, 1.0709 ns/op +OverheadActual 15: 16777216 op, 17621000.00 ns, 1.0503 ns/op + +WorkloadWarmup 1: 16777216 op, 575777000.00 ns, 34.3190 ns/op +WorkloadWarmup 2: 16777216 op, 572804600.00 ns, 34.1418 ns/op +WorkloadWarmup 3: 16777216 op, 569126500.00 ns, 33.9226 ns/op +WorkloadWarmup 4: 16777216 op, 569429400.00 ns, 33.9406 ns/op +WorkloadWarmup 5: 16777216 op, 571335000.00 ns, 34.0542 ns/op +WorkloadWarmup 6: 16777216 op, 571224100.00 ns, 34.0476 ns/op +WorkloadWarmup 7: 16777216 op, 568744000.00 ns, 33.8998 ns/op +WorkloadWarmup 8: 16777216 op, 570605700.00 ns, 34.0108 ns/op +WorkloadWarmup 9: 16777216 op, 572403900.00 ns, 34.1179 ns/op +WorkloadWarmup 10: 16777216 op, 570054100.00 ns, 33.9779 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 585703000.00 ns, 34.9106 ns/op +WorkloadActual 2: 16777216 op, 609435300.00 ns, 36.3252 ns/op +WorkloadActual 3: 16777216 op, 581832900.00 ns, 34.6799 ns/op +WorkloadActual 4: 16777216 op, 583430000.00 ns, 34.7751 ns/op +WorkloadActual 5: 16777216 op, 582230000.00 ns, 34.7036 ns/op +WorkloadActual 6: 16777216 op, 581622500.00 ns, 34.6674 ns/op +WorkloadActual 7: 16777216 op, 581990600.00 ns, 34.6893 ns/op +WorkloadActual 8: 16777216 op, 581486900.00 ns, 34.6593 ns/op +WorkloadActual 9: 16777216 op, 582550000.00 ns, 34.7227 ns/op +WorkloadActual 10: 16777216 op, 584053500.00 ns, 34.8123 ns/op +WorkloadActual 11: 16777216 op, 583206800.00 ns, 34.7618 ns/op +WorkloadActual 12: 16777216 op, 580344500.00 ns, 34.5912 ns/op +WorkloadActual 13: 16777216 op, 581356800.00 ns, 34.6516 ns/op +WorkloadActual 14: 16777216 op, 581440000.00 ns, 34.6565 ns/op +WorkloadActual 15: 16777216 op, 583348000.00 ns, 34.7703 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 568074300.00 ns, 33.8599 ns/op +WorkloadResult 2: 16777216 op, 564204200.00 ns, 33.6292 ns/op +WorkloadResult 3: 16777216 op, 565801300.00 ns, 33.7244 ns/op +WorkloadResult 4: 16777216 op, 564601300.00 ns, 33.6529 ns/op +WorkloadResult 5: 16777216 op, 563993800.00 ns, 33.6167 ns/op +WorkloadResult 6: 16777216 op, 564361900.00 ns, 33.6386 ns/op +WorkloadResult 7: 16777216 op, 563858200.00 ns, 33.6086 ns/op +WorkloadResult 8: 16777216 op, 564921300.00 ns, 33.6719 ns/op +WorkloadResult 9: 16777216 op, 566424800.00 ns, 33.7615 ns/op +WorkloadResult 10: 16777216 op, 565578100.00 ns, 33.7111 ns/op +WorkloadResult 11: 16777216 op, 562715800.00 ns, 33.5405 ns/op +WorkloadResult 12: 16777216 op, 563728100.00 ns, 33.6008 ns/op +WorkloadResult 13: 16777216 op, 563811300.00 ns, 33.6058 ns/op +WorkloadResult 14: 16777216 op, 565719300.00 ns, 33.7195 ns/op +// GC: 35 0 0 671088640 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 122664 has exited with code 0. + +Mean = 33.667 ns, StdErr = 0.022 ns (0.06%), N = 14, StdDev = 0.082 ns +Min = 33.540 ns, Q1 = 33.611 ns, Median = 33.646 ns, Q3 = 33.717 ns, Max = 33.860 ns +IQR = 0.107 ns, LowerFence = 33.450 ns, UpperFence = 33.878 ns +ConfidenceInterval = [33.575 ns; 33.759 ns] (CI 99.9%), Margin = 0.092 ns (0.27% of Mean) +Skewness = 0.71, Kurtosis = 2.88, MValue = 2 + +// ** Remained 21 (80.8%) benchmark(s) to run. Estimated finish 2026-02-23 19:54 (0h 1m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2052 1620 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneMedium128Bytes --job ".NET 10.0" --benchmarkId 3 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 76200.00 ns, 76.2000 us/op +WorkloadJitting 1: 1 op, 818600.00 ns, 818.6000 us/op + +OverheadJitting 2: 16 op, 109300.00 ns, 6.8313 us/op +WorkloadJitting 2: 16 op, 117500.00 ns, 7.3438 us/op + +WorkloadPilot 1: 16 op, 2200.00 ns, 137.5000 ns/op +WorkloadPilot 2: 32 op, 2900.00 ns, 90.6250 ns/op +WorkloadPilot 3: 64 op, 4200.00 ns, 65.6250 ns/op +WorkloadPilot 4: 128 op, 7500.00 ns, 58.5938 ns/op +WorkloadPilot 5: 256 op, 22700.00 ns, 88.6719 ns/op +WorkloadPilot 6: 512 op, 37500.00 ns, 73.2422 ns/op +WorkloadPilot 7: 1024 op, 61900.00 ns, 60.4492 ns/op +WorkloadPilot 8: 2048 op, 157800.00 ns, 77.0508 ns/op +WorkloadPilot 9: 4096 op, 311000.00 ns, 75.9277 ns/op +WorkloadPilot 10: 8192 op, 572700.00 ns, 69.9097 ns/op +WorkloadPilot 11: 16384 op, 1189900.00 ns, 72.6257 ns/op +WorkloadPilot 12: 32768 op, 2651900.00 ns, 80.9296 ns/op +WorkloadPilot 13: 65536 op, 4539700.00 ns, 69.2703 ns/op +WorkloadPilot 14: 131072 op, 8541100.00 ns, 65.1634 ns/op +WorkloadPilot 15: 262144 op, 10390500.00 ns, 39.6366 ns/op +WorkloadPilot 16: 524288 op, 20779900.00 ns, 39.6345 ns/op +WorkloadPilot 17: 1048576 op, 43021100.00 ns, 41.0281 ns/op +WorkloadPilot 18: 2097152 op, 82783900.00 ns, 39.4744 ns/op +WorkloadPilot 19: 4194304 op, 149359500.00 ns, 35.6101 ns/op +WorkloadPilot 20: 8388608 op, 298214400.00 ns, 35.5499 ns/op +WorkloadPilot 21: 16777216 op, 593860900.00 ns, 35.3969 ns/op + +OverheadWarmup 1: 16777216 op, 25415500.00 ns, 1.5149 ns/op +OverheadWarmup 2: 16777216 op, 25620600.00 ns, 1.5271 ns/op +OverheadWarmup 3: 16777216 op, 25597100.00 ns, 1.5257 ns/op +OverheadWarmup 4: 16777216 op, 25450000.00 ns, 1.5169 ns/op +OverheadWarmup 5: 16777216 op, 25406200.00 ns, 1.5143 ns/op +OverheadWarmup 6: 16777216 op, 25493100.00 ns, 1.5195 ns/op +OverheadWarmup 7: 16777216 op, 25459700.00 ns, 1.5175 ns/op + +OverheadActual 1: 16777216 op, 25446200.00 ns, 1.5167 ns/op +OverheadActual 2: 16777216 op, 25421700.00 ns, 1.5153 ns/op +OverheadActual 3: 16777216 op, 25434800.00 ns, 1.5160 ns/op +OverheadActual 4: 16777216 op, 25597000.00 ns, 1.5257 ns/op +OverheadActual 5: 16777216 op, 25416300.00 ns, 1.5149 ns/op +OverheadActual 6: 16777216 op, 25824300.00 ns, 1.5392 ns/op +OverheadActual 7: 16777216 op, 25553400.00 ns, 1.5231 ns/op +OverheadActual 8: 16777216 op, 25743400.00 ns, 1.5344 ns/op +OverheadActual 9: 16777216 op, 25504800.00 ns, 1.5202 ns/op +OverheadActual 10: 16777216 op, 24057900.00 ns, 1.4340 ns/op +OverheadActual 11: 16777216 op, 17807500.00 ns, 1.0614 ns/op +OverheadActual 12: 16777216 op, 17730300.00 ns, 1.0568 ns/op +OverheadActual 13: 16777216 op, 18012200.00 ns, 1.0736 ns/op +OverheadActual 14: 16777216 op, 17760500.00 ns, 1.0586 ns/op +OverheadActual 15: 16777216 op, 17738800.00 ns, 1.0573 ns/op +OverheadActual 16: 16777216 op, 17791400.00 ns, 1.0605 ns/op +OverheadActual 17: 16777216 op, 17722300.00 ns, 1.0563 ns/op +OverheadActual 18: 16777216 op, 17726100.00 ns, 1.0566 ns/op +OverheadActual 19: 16777216 op, 17722900.00 ns, 1.0564 ns/op +OverheadActual 20: 16777216 op, 17920000.00 ns, 1.0681 ns/op + +WorkloadWarmup 1: 16777216 op, 598234100.00 ns, 35.6575 ns/op +WorkloadWarmup 2: 16777216 op, 598278300.00 ns, 35.6602 ns/op +WorkloadWarmup 3: 16777216 op, 593337700.00 ns, 35.3657 ns/op +WorkloadWarmup 4: 16777216 op, 594880400.00 ns, 35.4576 ns/op +WorkloadWarmup 5: 16777216 op, 593368800.00 ns, 35.3675 ns/op +WorkloadWarmup 6: 16777216 op, 593833200.00 ns, 35.3952 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 596763100.00 ns, 35.5699 ns/op +WorkloadActual 2: 16777216 op, 603175900.00 ns, 35.9521 ns/op +WorkloadActual 3: 16777216 op, 605788200.00 ns, 36.1078 ns/op +WorkloadActual 4: 16777216 op, 597839800.00 ns, 35.6340 ns/op +WorkloadActual 5: 16777216 op, 598380300.00 ns, 35.6662 ns/op +WorkloadActual 6: 16777216 op, 596071300.00 ns, 35.5286 ns/op +WorkloadActual 7: 16777216 op, 595709300.00 ns, 35.5070 ns/op +WorkloadActual 8: 16777216 op, 597590400.00 ns, 35.6192 ns/op +WorkloadActual 9: 16777216 op, 596376900.00 ns, 35.5468 ns/op +WorkloadActual 10: 16777216 op, 601416800.00 ns, 35.8472 ns/op +WorkloadActual 11: 16777216 op, 598354200.00 ns, 35.6647 ns/op +WorkloadActual 12: 16777216 op, 613824500.00 ns, 36.5868 ns/op +WorkloadActual 13: 16777216 op, 602023300.00 ns, 35.8834 ns/op +WorkloadActual 14: 16777216 op, 610473000.00 ns, 36.3870 ns/op +WorkloadActual 15: 16777216 op, 686775000.00 ns, 40.9350 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 575728050.00 ns, 34.3161 ns/op +WorkloadResult 2: 16777216 op, 582140850.00 ns, 34.6983 ns/op +WorkloadResult 3: 16777216 op, 584753150.00 ns, 34.8540 ns/op +WorkloadResult 4: 16777216 op, 576804750.00 ns, 34.3802 ns/op +WorkloadResult 5: 16777216 op, 577345250.00 ns, 34.4125 ns/op +WorkloadResult 6: 16777216 op, 575036250.00 ns, 34.2748 ns/op +WorkloadResult 7: 16777216 op, 574674250.00 ns, 34.2533 ns/op +WorkloadResult 8: 16777216 op, 576555350.00 ns, 34.3654 ns/op +WorkloadResult 9: 16777216 op, 575341850.00 ns, 34.2930 ns/op +WorkloadResult 10: 16777216 op, 580381750.00 ns, 34.5934 ns/op +WorkloadResult 11: 16777216 op, 577319150.00 ns, 34.4109 ns/op +WorkloadResult 12: 16777216 op, 592789450.00 ns, 35.3330 ns/op +WorkloadResult 13: 16777216 op, 580988250.00 ns, 34.6296 ns/op +WorkloadResult 14: 16777216 op, 589437950.00 ns, 35.1332 ns/op +// GC: 135 0 0 2550136832 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 114668 has exited with code 0. + +Mean = 34.568 ns, StdErr = 0.089 ns (0.26%), N = 14, StdDev = 0.335 ns +Min = 34.253 ns, Q1 = 34.328 ns, Median = 34.412 ns, Q3 = 34.681 ns, Max = 35.333 ns +IQR = 0.353 ns, LowerFence = 33.799 ns, UpperFence = 35.210 ns +ConfidenceInterval = [34.190 ns; 34.945 ns] (CI 99.9%), Margin = 0.378 ns (1.09% of Mean) +Skewness = 1.03, Kurtosis = 2.75, MValue = 2 + +// ** Remained 20 (76.9%) benchmark(s) to run. Estimated finish 2026-02-23 19:55 (0h 2m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2116 660 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLarge1024Bytes --job ".NET 10.0" --benchmarkId 4 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 83200.00 ns, 83.2000 us/op +WorkloadJitting 1: 1 op, 886000.00 ns, 886.0000 us/op + +OverheadJitting 2: 16 op, 118100.00 ns, 7.3813 us/op +WorkloadJitting 2: 16 op, 132900.00 ns, 8.3063 us/op + +WorkloadPilot 1: 16 op, 2900.00 ns, 181.2500 ns/op +WorkloadPilot 2: 32 op, 3600.00 ns, 112.5000 ns/op +WorkloadPilot 3: 64 op, 21400.00 ns, 334.3750 ns/op +WorkloadPilot 4: 128 op, 29000.00 ns, 226.5625 ns/op +WorkloadPilot 5: 256 op, 62600.00 ns, 244.5313 ns/op +WorkloadPilot 6: 512 op, 137600.00 ns, 268.7500 ns/op +WorkloadPilot 7: 1024 op, 251400.00 ns, 245.5078 ns/op +WorkloadPilot 8: 2048 op, 491700.00 ns, 240.0879 ns/op +WorkloadPilot 9: 4096 op, 1008000.00 ns, 246.0938 ns/op +WorkloadPilot 10: 8192 op, 2291500.00 ns, 279.7241 ns/op +WorkloadPilot 11: 16384 op, 4137300.00 ns, 252.5208 ns/op +WorkloadPilot 12: 32768 op, 3039200.00 ns, 92.7490 ns/op +WorkloadPilot 13: 65536 op, 4817300.00 ns, 73.5062 ns/op +WorkloadPilot 14: 131072 op, 10095700.00 ns, 77.0241 ns/op +WorkloadPilot 15: 262144 op, 17803000.00 ns, 67.9131 ns/op +WorkloadPilot 16: 524288 op, 37167400.00 ns, 70.8912 ns/op +WorkloadPilot 17: 1048576 op, 67852900.00 ns, 64.7096 ns/op +WorkloadPilot 18: 2097152 op, 127124300.00 ns, 60.6176 ns/op +WorkloadPilot 19: 4194304 op, 249364000.00 ns, 59.4530 ns/op +WorkloadPilot 20: 8388608 op, 553528500.00 ns, 65.9857 ns/op + +OverheadWarmup 1: 8388608 op, 13570000.00 ns, 1.6177 ns/op +OverheadWarmup 2: 8388608 op, 12724700.00 ns, 1.5169 ns/op +OverheadWarmup 3: 8388608 op, 12800100.00 ns, 1.5259 ns/op +OverheadWarmup 4: 8388608 op, 13234900.00 ns, 1.5777 ns/op +OverheadWarmup 5: 8388608 op, 12727300.00 ns, 1.5172 ns/op +OverheadWarmup 6: 8388608 op, 12704800.00 ns, 1.5145 ns/op +OverheadWarmup 7: 8388608 op, 12928500.00 ns, 1.5412 ns/op +OverheadWarmup 8: 8388608 op, 12795000.00 ns, 1.5253 ns/op + +OverheadActual 1: 8388608 op, 12789800.00 ns, 1.5247 ns/op +OverheadActual 2: 8388608 op, 12751500.00 ns, 1.5201 ns/op +OverheadActual 3: 8388608 op, 12732300.00 ns, 1.5178 ns/op +OverheadActual 4: 8388608 op, 12943200.00 ns, 1.5429 ns/op +OverheadActual 5: 8388608 op, 12752900.00 ns, 1.5203 ns/op +OverheadActual 6: 8388608 op, 12982400.00 ns, 1.5476 ns/op +OverheadActual 7: 8388608 op, 12744200.00 ns, 1.5192 ns/op +OverheadActual 8: 8388608 op, 12907100.00 ns, 1.5386 ns/op +OverheadActual 9: 8388608 op, 12875500.00 ns, 1.5349 ns/op +OverheadActual 10: 8388608 op, 12933700.00 ns, 1.5418 ns/op +OverheadActual 11: 8388608 op, 12765500.00 ns, 1.5218 ns/op +OverheadActual 12: 8388608 op, 12715100.00 ns, 1.5158 ns/op +OverheadActual 13: 8388608 op, 12816400.00 ns, 1.5278 ns/op +OverheadActual 14: 8388608 op, 12713400.00 ns, 1.5156 ns/op +OverheadActual 15: 8388608 op, 12716700.00 ns, 1.5159 ns/op + +WorkloadWarmup 1: 8388608 op, 589781100.00 ns, 70.3074 ns/op +WorkloadWarmup 2: 8388608 op, 462685000.00 ns, 55.1564 ns/op +WorkloadWarmup 3: 8388608 op, 478129900.00 ns, 56.9975 ns/op +WorkloadWarmup 4: 8388608 op, 462037800.00 ns, 55.0792 ns/op +WorkloadWarmup 5: 8388608 op, 460125400.00 ns, 54.8512 ns/op +WorkloadWarmup 6: 8388608 op, 484579500.00 ns, 57.7664 ns/op +WorkloadWarmup 7: 8388608 op, 472713300.00 ns, 56.3518 ns/op + +// BeforeActualRun +WorkloadActual 1: 8388608 op, 442767500.00 ns, 52.7820 ns/op +WorkloadActual 2: 8388608 op, 489800000.00 ns, 58.3887 ns/op +WorkloadActual 3: 8388608 op, 444049600.00 ns, 52.9348 ns/op +WorkloadActual 4: 8388608 op, 443159700.00 ns, 52.8288 ns/op +WorkloadActual 5: 8388608 op, 448095500.00 ns, 53.4171 ns/op +WorkloadActual 6: 8388608 op, 456674700.00 ns, 54.4399 ns/op +WorkloadActual 7: 8388608 op, 499162900.00 ns, 59.5049 ns/op +WorkloadActual 8: 8388608 op, 490519700.00 ns, 58.4745 ns/op +WorkloadActual 9: 8388608 op, 513875800.00 ns, 61.2588 ns/op +WorkloadActual 10: 8388608 op, 532682600.00 ns, 63.5007 ns/op +WorkloadActual 11: 8388608 op, 530696700.00 ns, 63.2640 ns/op +WorkloadActual 12: 8388608 op, 486437100.00 ns, 57.9878 ns/op +WorkloadActual 13: 8388608 op, 494547600.00 ns, 58.9547 ns/op +WorkloadActual 14: 8388608 op, 469483900.00 ns, 55.9668 ns/op +WorkloadActual 15: 8388608 op, 461314400.00 ns, 54.9930 ns/op +WorkloadActual 16: 8388608 op, 442077300.00 ns, 52.6997 ns/op +WorkloadActual 17: 8388608 op, 457796400.00 ns, 54.5736 ns/op +WorkloadActual 18: 8388608 op, 446199900.00 ns, 53.1912 ns/op +WorkloadActual 19: 8388608 op, 449061100.00 ns, 53.5323 ns/op +WorkloadActual 20: 8388608 op, 459759600.00 ns, 54.8076 ns/op +WorkloadActual 21: 8388608 op, 481748700.00 ns, 57.4289 ns/op +WorkloadActual 22: 8388608 op, 499837600.00 ns, 59.5853 ns/op +WorkloadActual 23: 8388608 op, 520001700.00 ns, 61.9890 ns/op +WorkloadActual 24: 8388608 op, 518714600.00 ns, 61.8356 ns/op +WorkloadActual 25: 8388608 op, 629145300.00 ns, 75.0000 ns/op +WorkloadActual 26: 8388608 op, 545897700.00 ns, 65.0761 ns/op +WorkloadActual 27: 8388608 op, 479848500.00 ns, 57.2024 ns/op +WorkloadActual 28: 8388608 op, 501718900.00 ns, 59.8096 ns/op +WorkloadActual 29: 8388608 op, 472097800.00 ns, 56.2784 ns/op +WorkloadActual 30: 8388608 op, 443818200.00 ns, 52.9073 ns/op +WorkloadActual 31: 8388608 op, 449231300.00 ns, 53.5525 ns/op +WorkloadActual 32: 8388608 op, 446278200.00 ns, 53.2005 ns/op +WorkloadActual 33: 8388608 op, 442776100.00 ns, 52.7830 ns/op +WorkloadActual 34: 8388608 op, 457962000.00 ns, 54.5933 ns/op +WorkloadActual 35: 8388608 op, 472763100.00 ns, 56.3578 ns/op +WorkloadActual 36: 8388608 op, 530890100.00 ns, 63.2870 ns/op +WorkloadActual 37: 8388608 op, 550836100.00 ns, 65.6648 ns/op +WorkloadActual 38: 8388608 op, 563737100.00 ns, 67.2027 ns/op +WorkloadActual 39: 8388608 op, 645080900.00 ns, 76.8996 ns/op +WorkloadActual 40: 8388608 op, 473402400.00 ns, 56.4340 ns/op +WorkloadActual 41: 8388608 op, 495062800.00 ns, 59.0161 ns/op +WorkloadActual 42: 8388608 op, 520393800.00 ns, 62.0358 ns/op +WorkloadActual 43: 8388608 op, 467153900.00 ns, 55.6891 ns/op +WorkloadActual 44: 8388608 op, 455881700.00 ns, 54.3453 ns/op +WorkloadActual 45: 8388608 op, 502511300.00 ns, 59.9040 ns/op +WorkloadActual 46: 8388608 op, 446373300.00 ns, 53.2118 ns/op +WorkloadActual 47: 8388608 op, 446129900.00 ns, 53.1828 ns/op +WorkloadActual 48: 8388608 op, 452986600.00 ns, 54.0002 ns/op +WorkloadActual 49: 8388608 op, 455529700.00 ns, 54.3034 ns/op +WorkloadActual 50: 8388608 op, 526745300.00 ns, 62.7929 ns/op +WorkloadActual 51: 8388608 op, 558001200.00 ns, 66.5189 ns/op +WorkloadActual 52: 8388608 op, 567542200.00 ns, 67.6563 ns/op +WorkloadActual 53: 8388608 op, 473550400.00 ns, 56.4516 ns/op +WorkloadActual 54: 8388608 op, 476891900.00 ns, 56.8499 ns/op +WorkloadActual 55: 8388608 op, 471124700.00 ns, 56.1624 ns/op +WorkloadActual 56: 8388608 op, 464446700.00 ns, 55.3664 ns/op +WorkloadActual 57: 8388608 op, 450561400.00 ns, 53.7111 ns/op +WorkloadActual 58: 8388608 op, 449464400.00 ns, 53.5803 ns/op +WorkloadActual 59: 8388608 op, 454214800.00 ns, 54.1466 ns/op +WorkloadActual 60: 8388608 op, 451147200.00 ns, 53.7809 ns/op +WorkloadActual 61: 8388608 op, 450526800.00 ns, 53.7070 ns/op +WorkloadActual 62: 8388608 op, 454869300.00 ns, 54.2246 ns/op +WorkloadActual 63: 8388608 op, 446247500.00 ns, 53.1968 ns/op +WorkloadActual 64: 8388608 op, 459870400.00 ns, 54.8208 ns/op +WorkloadActual 65: 8388608 op, 466809600.00 ns, 55.6480 ns/op +WorkloadActual 66: 8388608 op, 463651000.00 ns, 55.2715 ns/op +WorkloadActual 67: 8388608 op, 451408300.00 ns, 53.8121 ns/op +WorkloadActual 68: 8388608 op, 452400200.00 ns, 53.9303 ns/op +WorkloadActual 69: 8388608 op, 452309000.00 ns, 53.9194 ns/op +WorkloadActual 70: 8388608 op, 443476300.00 ns, 52.8665 ns/op +WorkloadActual 71: 8388608 op, 445796000.00 ns, 53.1430 ns/op +WorkloadActual 72: 8388608 op, 465763400.00 ns, 55.5233 ns/op +WorkloadActual 73: 8388608 op, 470987600.00 ns, 56.1461 ns/op +WorkloadActual 74: 8388608 op, 466317900.00 ns, 55.5894 ns/op +WorkloadActual 75: 8388608 op, 457321500.00 ns, 54.5170 ns/op +WorkloadActual 76: 8388608 op, 449153600.00 ns, 53.5433 ns/op +WorkloadActual 77: 8388608 op, 452224400.00 ns, 53.9093 ns/op +WorkloadActual 78: 8388608 op, 472910600.00 ns, 56.3753 ns/op +WorkloadActual 79: 8388608 op, 442028200.00 ns, 52.6939 ns/op +WorkloadActual 80: 8388608 op, 471081500.00 ns, 56.1573 ns/op +WorkloadActual 81: 8388608 op, 443585100.00 ns, 52.8795 ns/op +WorkloadActual 82: 8388608 op, 456362800.00 ns, 54.4027 ns/op +WorkloadActual 83: 8388608 op, 456255500.00 ns, 54.3899 ns/op +WorkloadActual 84: 8388608 op, 454060600.00 ns, 54.1282 ns/op +WorkloadActual 85: 8388608 op, 451876600.00 ns, 53.8679 ns/op +WorkloadActual 86: 8388608 op, 443119100.00 ns, 52.8239 ns/op +WorkloadActual 87: 8388608 op, 449825500.00 ns, 53.6234 ns/op +WorkloadActual 88: 8388608 op, 444593200.00 ns, 52.9996 ns/op +WorkloadActual 89: 8388608 op, 481821900.00 ns, 57.4376 ns/op +WorkloadActual 90: 8388608 op, 451557300.00 ns, 53.8298 ns/op +WorkloadActual 91: 8388608 op, 467668400.00 ns, 55.7504 ns/op + +// AfterActualRun +WorkloadResult 1: 8388608 op, 430002000.00 ns, 51.2602 ns/op +WorkloadResult 2: 8388608 op, 477034500.00 ns, 56.8669 ns/op +WorkloadResult 3: 8388608 op, 431284100.00 ns, 51.4131 ns/op +WorkloadResult 4: 8388608 op, 430394200.00 ns, 51.3070 ns/op +WorkloadResult 5: 8388608 op, 435330000.00 ns, 51.8954 ns/op +WorkloadResult 6: 8388608 op, 443909200.00 ns, 52.9181 ns/op +WorkloadResult 7: 8388608 op, 486397400.00 ns, 57.9831 ns/op +WorkloadResult 8: 8388608 op, 477754200.00 ns, 56.9527 ns/op +WorkloadResult 9: 8388608 op, 501110300.00 ns, 59.7370 ns/op +WorkloadResult 10: 8388608 op, 519917100.00 ns, 61.9789 ns/op +WorkloadResult 11: 8388608 op, 517931200.00 ns, 61.7422 ns/op +WorkloadResult 12: 8388608 op, 473671600.00 ns, 56.4661 ns/op +WorkloadResult 13: 8388608 op, 481782100.00 ns, 57.4329 ns/op +WorkloadResult 14: 8388608 op, 456718400.00 ns, 54.4451 ns/op +WorkloadResult 15: 8388608 op, 448548900.00 ns, 53.4712 ns/op +WorkloadResult 16: 8388608 op, 429311800.00 ns, 51.1780 ns/op +WorkloadResult 17: 8388608 op, 445030900.00 ns, 53.0518 ns/op +WorkloadResult 18: 8388608 op, 433434400.00 ns, 51.6694 ns/op +WorkloadResult 19: 8388608 op, 436295600.00 ns, 52.0105 ns/op +WorkloadResult 20: 8388608 op, 446994100.00 ns, 53.2858 ns/op +WorkloadResult 21: 8388608 op, 468983200.00 ns, 55.9072 ns/op +WorkloadResult 22: 8388608 op, 487072100.00 ns, 58.0635 ns/op +WorkloadResult 23: 8388608 op, 507236200.00 ns, 60.4673 ns/op +WorkloadResult 24: 8388608 op, 505949100.00 ns, 60.3138 ns/op +WorkloadResult 25: 8388608 op, 467083000.00 ns, 55.6806 ns/op +WorkloadResult 26: 8388608 op, 488953400.00 ns, 58.2878 ns/op +WorkloadResult 27: 8388608 op, 459332300.00 ns, 54.7567 ns/op +WorkloadResult 28: 8388608 op, 431052700.00 ns, 51.3855 ns/op +WorkloadResult 29: 8388608 op, 436465800.00 ns, 52.0308 ns/op +WorkloadResult 30: 8388608 op, 433512700.00 ns, 51.6787 ns/op +WorkloadResult 31: 8388608 op, 430010600.00 ns, 51.2613 ns/op +WorkloadResult 32: 8388608 op, 445196500.00 ns, 53.0716 ns/op +WorkloadResult 33: 8388608 op, 459997600.00 ns, 54.8360 ns/op +WorkloadResult 34: 8388608 op, 518124600.00 ns, 61.7653 ns/op +WorkloadResult 35: 8388608 op, 460636900.00 ns, 54.9122 ns/op +WorkloadResult 36: 8388608 op, 482297300.00 ns, 57.4943 ns/op +WorkloadResult 37: 8388608 op, 507628300.00 ns, 60.5140 ns/op +WorkloadResult 38: 8388608 op, 454388400.00 ns, 54.1673 ns/op +WorkloadResult 39: 8388608 op, 443116200.00 ns, 52.8236 ns/op +WorkloadResult 40: 8388608 op, 489745800.00 ns, 58.3822 ns/op +WorkloadResult 41: 8388608 op, 433607800.00 ns, 51.6901 ns/op +WorkloadResult 42: 8388608 op, 433364400.00 ns, 51.6611 ns/op +WorkloadResult 43: 8388608 op, 440221100.00 ns, 52.4784 ns/op +WorkloadResult 44: 8388608 op, 442764200.00 ns, 52.7816 ns/op +WorkloadResult 45: 8388608 op, 513979800.00 ns, 61.2712 ns/op +WorkloadResult 46: 8388608 op, 460784900.00 ns, 54.9298 ns/op +WorkloadResult 47: 8388608 op, 464126400.00 ns, 55.3282 ns/op +WorkloadResult 48: 8388608 op, 458359200.00 ns, 54.6407 ns/op +WorkloadResult 49: 8388608 op, 451681200.00 ns, 53.8446 ns/op +WorkloadResult 50: 8388608 op, 437795900.00 ns, 52.1893 ns/op +WorkloadResult 51: 8388608 op, 436698900.00 ns, 52.0586 ns/op +WorkloadResult 52: 8388608 op, 441449300.00 ns, 52.6249 ns/op +WorkloadResult 53: 8388608 op, 438381700.00 ns, 52.2592 ns/op +WorkloadResult 54: 8388608 op, 437761300.00 ns, 52.1852 ns/op +WorkloadResult 55: 8388608 op, 442103800.00 ns, 52.7029 ns/op +WorkloadResult 56: 8388608 op, 433482000.00 ns, 51.6751 ns/op +WorkloadResult 57: 8388608 op, 447104900.00 ns, 53.2991 ns/op +WorkloadResult 58: 8388608 op, 454044100.00 ns, 54.1263 ns/op +WorkloadResult 59: 8388608 op, 450885500.00 ns, 53.7497 ns/op +WorkloadResult 60: 8388608 op, 438642800.00 ns, 52.2903 ns/op +WorkloadResult 61: 8388608 op, 439634700.00 ns, 52.4085 ns/op +WorkloadResult 62: 8388608 op, 439543500.00 ns, 52.3977 ns/op +WorkloadResult 63: 8388608 op, 430710800.00 ns, 51.3447 ns/op +WorkloadResult 64: 8388608 op, 433030500.00 ns, 51.6213 ns/op +WorkloadResult 65: 8388608 op, 452997900.00 ns, 54.0016 ns/op +WorkloadResult 66: 8388608 op, 458222100.00 ns, 54.6243 ns/op +WorkloadResult 67: 8388608 op, 453552400.00 ns, 54.0677 ns/op +WorkloadResult 68: 8388608 op, 444556000.00 ns, 52.9952 ns/op +WorkloadResult 69: 8388608 op, 436388100.00 ns, 52.0215 ns/op +WorkloadResult 70: 8388608 op, 439458900.00 ns, 52.3876 ns/op +WorkloadResult 71: 8388608 op, 460145100.00 ns, 54.8536 ns/op +WorkloadResult 72: 8388608 op, 429262700.00 ns, 51.1721 ns/op +WorkloadResult 73: 8388608 op, 458316000.00 ns, 54.6355 ns/op +WorkloadResult 74: 8388608 op, 430819600.00 ns, 51.3577 ns/op +WorkloadResult 75: 8388608 op, 443597300.00 ns, 52.8809 ns/op +WorkloadResult 76: 8388608 op, 443490000.00 ns, 52.8681 ns/op +WorkloadResult 77: 8388608 op, 441295100.00 ns, 52.6065 ns/op +WorkloadResult 78: 8388608 op, 439111100.00 ns, 52.3461 ns/op +WorkloadResult 79: 8388608 op, 430353600.00 ns, 51.3021 ns/op +WorkloadResult 80: 8388608 op, 437060000.00 ns, 52.1016 ns/op +WorkloadResult 81: 8388608 op, 431827700.00 ns, 51.4779 ns/op +WorkloadResult 82: 8388608 op, 469056400.00 ns, 55.9159 ns/op +WorkloadResult 83: 8388608 op, 438791800.00 ns, 52.3081 ns/op +WorkloadResult 84: 8388608 op, 454902900.00 ns, 54.2287 ns/op +// GC: 465 1 0 8791261184 8388608 +// Threading: 0 0 8388608 + +// AfterAll +// Benchmark Process 82588 has exited with code 0. + +Mean = 54.174 ns, StdErr = 0.318 ns (0.59%), N = 84, StdDev = 2.915 ns +Min = 51.172 ns, Q1 = 52.052 ns, Median = 53.024 ns, Q3 = 55.029 ns, Max = 61.979 ns +IQR = 2.978 ns, LowerFence = 47.585 ns, UpperFence = 59.496 ns +ConfidenceInterval = [53.088 ns; 55.259 ns] (CI 99.9%), Margin = 1.085 ns (2.00% of Mean) +Skewness = 1.2, Kurtosis = 3.48, MValue = 2.12 + +// ** Remained 19 (73.1%) benchmark(s) to run. Estimated finish 2026-02-23 19:58 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2004 2652 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneInt128Elements --job ".NET 10.0" --benchmarkId 5 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 75900.00 ns, 75.9000 us/op +WorkloadJitting 1: 1 op, 841600.00 ns, 841.6000 us/op + +OverheadJitting 2: 16 op, 104800.00 ns, 6.5500 us/op +WorkloadJitting 2: 16 op, 116100.00 ns, 7.2563 us/op + +WorkloadPilot 1: 16 op, 2100.00 ns, 131.2500 ns/op +WorkloadPilot 2: 32 op, 2600.00 ns, 81.2500 ns/op +WorkloadPilot 3: 64 op, 9900.00 ns, 154.6875 ns/op +WorkloadPilot 4: 128 op, 13900.00 ns, 108.5938 ns/op +WorkloadPilot 5: 256 op, 29200.00 ns, 114.0625 ns/op +WorkloadPilot 6: 512 op, 63500.00 ns, 124.0234 ns/op +WorkloadPilot 7: 1024 op, 136500.00 ns, 133.3008 ns/op +WorkloadPilot 8: 2048 op, 232300.00 ns, 113.4277 ns/op +WorkloadPilot 9: 4096 op, 475800.00 ns, 116.1621 ns/op +WorkloadPilot 10: 8192 op, 980300.00 ns, 119.6655 ns/op +WorkloadPilot 11: 16384 op, 2203600.00 ns, 134.4971 ns/op +WorkloadPilot 12: 32768 op, 3944000.00 ns, 120.3613 ns/op +WorkloadPilot 13: 65536 op, 3560300.00 ns, 54.3259 ns/op +WorkloadPilot 14: 131072 op, 6808300.00 ns, 51.9432 ns/op +WorkloadPilot 15: 262144 op, 12126600.00 ns, 46.2593 ns/op +WorkloadPilot 16: 524288 op, 24797000.00 ns, 47.2965 ns/op +WorkloadPilot 17: 1048576 op, 50393800.00 ns, 48.0593 ns/op +WorkloadPilot 18: 2097152 op, 96618000.00 ns, 46.0711 ns/op +WorkloadPilot 19: 4194304 op, 180737000.00 ns, 43.0911 ns/op +WorkloadPilot 20: 8388608 op, 359439900.00 ns, 42.8486 ns/op +WorkloadPilot 21: 16777216 op, 734275900.00 ns, 43.7663 ns/op + +OverheadWarmup 1: 16777216 op, 25447800.00 ns, 1.5168 ns/op +OverheadWarmup 2: 16777216 op, 25409600.00 ns, 1.5145 ns/op +OverheadWarmup 3: 16777216 op, 25385000.00 ns, 1.5131 ns/op +OverheadWarmup 4: 16777216 op, 25452000.00 ns, 1.5171 ns/op +OverheadWarmup 5: 16777216 op, 25452400.00 ns, 1.5171 ns/op +OverheadWarmup 6: 16777216 op, 25458400.00 ns, 1.5174 ns/op +OverheadWarmup 7: 16777216 op, 25485700.00 ns, 1.5191 ns/op +OverheadWarmup 8: 16777216 op, 25576500.00 ns, 1.5245 ns/op +OverheadWarmup 9: 16777216 op, 25582300.00 ns, 1.5248 ns/op +OverheadWarmup 10: 16777216 op, 25437700.00 ns, 1.5162 ns/op + +OverheadActual 1: 16777216 op, 25470800.00 ns, 1.5182 ns/op +OverheadActual 2: 16777216 op, 25448200.00 ns, 1.5168 ns/op +OverheadActual 3: 16777216 op, 25603500.00 ns, 1.5261 ns/op +OverheadActual 4: 16777216 op, 25412400.00 ns, 1.5147 ns/op +OverheadActual 5: 16777216 op, 25453100.00 ns, 1.5171 ns/op +OverheadActual 6: 16777216 op, 25409800.00 ns, 1.5145 ns/op +OverheadActual 7: 16777216 op, 25441700.00 ns, 1.5164 ns/op +OverheadActual 8: 16777216 op, 25457100.00 ns, 1.5174 ns/op +OverheadActual 9: 16777216 op, 25499700.00 ns, 1.5199 ns/op +OverheadActual 10: 16777216 op, 25449600.00 ns, 1.5169 ns/op +OverheadActual 11: 16777216 op, 22970300.00 ns, 1.3691 ns/op +OverheadActual 12: 16777216 op, 17829400.00 ns, 1.0627 ns/op +OverheadActual 13: 16777216 op, 17750900.00 ns, 1.0580 ns/op +OverheadActual 14: 16777216 op, 18036600.00 ns, 1.0751 ns/op +OverheadActual 15: 16777216 op, 17746400.00 ns, 1.0578 ns/op +OverheadActual 16: 16777216 op, 17772900.00 ns, 1.0593 ns/op +OverheadActual 17: 16777216 op, 17755500.00 ns, 1.0583 ns/op +OverheadActual 18: 16777216 op, 17880500.00 ns, 1.0658 ns/op +OverheadActual 19: 16777216 op, 17720500.00 ns, 1.0562 ns/op +OverheadActual 20: 16777216 op, 17843500.00 ns, 1.0636 ns/op + +WorkloadWarmup 1: 16777216 op, 761845600.00 ns, 45.4095 ns/op +WorkloadWarmup 2: 16777216 op, 744907800.00 ns, 44.4000 ns/op +WorkloadWarmup 3: 16777216 op, 772814200.00 ns, 46.0633 ns/op +WorkloadWarmup 4: 16777216 op, 736116500.00 ns, 43.8760 ns/op +WorkloadWarmup 5: 16777216 op, 883864100.00 ns, 52.6824 ns/op +WorkloadWarmup 6: 16777216 op, 972838400.00 ns, 57.9857 ns/op +WorkloadWarmup 7: 16777216 op, 1173726400.00 ns, 69.9595 ns/op +WorkloadWarmup 8: 16777216 op, 949645600.00 ns, 56.6033 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 742048800.00 ns, 44.2296 ns/op +WorkloadActual 2: 16777216 op, 762233100.00 ns, 45.4326 ns/op +WorkloadActual 3: 16777216 op, 783768600.00 ns, 46.7162 ns/op +WorkloadActual 4: 16777216 op, 775018900.00 ns, 46.1947 ns/op +WorkloadActual 5: 16777216 op, 731424800.00 ns, 43.5963 ns/op +WorkloadActual 6: 16777216 op, 728570700.00 ns, 43.4262 ns/op +WorkloadActual 7: 16777216 op, 809361600.00 ns, 48.2417 ns/op +WorkloadActual 8: 16777216 op, 781308500.00 ns, 46.5696 ns/op +WorkloadActual 9: 16777216 op, 722586500.00 ns, 43.0695 ns/op +WorkloadActual 10: 16777216 op, 736048300.00 ns, 43.8719 ns/op +WorkloadActual 11: 16777216 op, 757549800.00 ns, 45.1535 ns/op +WorkloadActual 12: 16777216 op, 732859300.00 ns, 43.6818 ns/op +WorkloadActual 13: 16777216 op, 794405600.00 ns, 47.3503 ns/op +WorkloadActual 14: 16777216 op, 730881100.00 ns, 43.5639 ns/op +WorkloadActual 15: 16777216 op, 742737700.00 ns, 44.2706 ns/op +WorkloadActual 16: 16777216 op, 738389800.00 ns, 44.0115 ns/op +WorkloadActual 17: 16777216 op, 767216500.00 ns, 45.7297 ns/op +WorkloadActual 18: 16777216 op, 762457700.00 ns, 45.4460 ns/op +WorkloadActual 19: 16777216 op, 763840500.00 ns, 45.5284 ns/op +WorkloadActual 20: 16777216 op, 786083900.00 ns, 46.8543 ns/op +WorkloadActual 21: 16777216 op, 820647400.00 ns, 48.9144 ns/op +WorkloadActual 22: 16777216 op, 839825100.00 ns, 50.0575 ns/op +WorkloadActual 23: 16777216 op, 786587700.00 ns, 46.8843 ns/op +WorkloadActual 24: 16777216 op, 758700900.00 ns, 45.2221 ns/op +WorkloadActual 25: 16777216 op, 753409400.00 ns, 44.9067 ns/op +WorkloadActual 26: 16777216 op, 751808200.00 ns, 44.8113 ns/op +WorkloadActual 27: 16777216 op, 840940900.00 ns, 50.1240 ns/op +WorkloadActual 28: 16777216 op, 737646600.00 ns, 43.9672 ns/op +WorkloadActual 29: 16777216 op, 729252900.00 ns, 43.4669 ns/op +WorkloadActual 30: 16777216 op, 735949200.00 ns, 43.8660 ns/op +WorkloadActual 31: 16777216 op, 807961800.00 ns, 48.1583 ns/op +WorkloadActual 32: 16777216 op, 760042500.00 ns, 45.3021 ns/op +WorkloadActual 33: 16777216 op, 729620300.00 ns, 43.4888 ns/op +WorkloadActual 34: 16777216 op, 743217300.00 ns, 44.2992 ns/op +WorkloadActual 35: 16777216 op, 749546100.00 ns, 44.6764 ns/op +WorkloadActual 36: 16777216 op, 776517100.00 ns, 46.2840 ns/op +WorkloadActual 37: 16777216 op, 736841900.00 ns, 43.9192 ns/op +WorkloadActual 38: 16777216 op, 813360100.00 ns, 48.4800 ns/op +WorkloadActual 39: 16777216 op, 769574100.00 ns, 45.8702 ns/op +WorkloadActual 40: 16777216 op, 752111800.00 ns, 44.8294 ns/op +WorkloadActual 41: 16777216 op, 759058400.00 ns, 45.2434 ns/op +WorkloadActual 42: 16777216 op, 762191300.00 ns, 45.4301 ns/op +WorkloadActual 43: 16777216 op, 746578600.00 ns, 44.4996 ns/op +WorkloadActual 44: 16777216 op, 756988900.00 ns, 45.1201 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 717858750.00 ns, 42.7877 ns/op +WorkloadResult 2: 16777216 op, 738043050.00 ns, 43.9908 ns/op +WorkloadResult 3: 16777216 op, 759578550.00 ns, 45.2744 ns/op +WorkloadResult 4: 16777216 op, 750828850.00 ns, 44.7529 ns/op +WorkloadResult 5: 16777216 op, 707234750.00 ns, 42.1545 ns/op +WorkloadResult 6: 16777216 op, 704380650.00 ns, 41.9844 ns/op +WorkloadResult 7: 16777216 op, 785171550.00 ns, 46.7999 ns/op +WorkloadResult 8: 16777216 op, 757118450.00 ns, 45.1278 ns/op +WorkloadResult 9: 16777216 op, 698396450.00 ns, 41.6277 ns/op +WorkloadResult 10: 16777216 op, 711858250.00 ns, 42.4301 ns/op +WorkloadResult 11: 16777216 op, 733359750.00 ns, 43.7116 ns/op +WorkloadResult 12: 16777216 op, 708669250.00 ns, 42.2400 ns/op +WorkloadResult 13: 16777216 op, 770215550.00 ns, 45.9084 ns/op +WorkloadResult 14: 16777216 op, 706691050.00 ns, 42.1221 ns/op +WorkloadResult 15: 16777216 op, 718547650.00 ns, 42.8288 ns/op +WorkloadResult 16: 16777216 op, 714199750.00 ns, 42.5696 ns/op +WorkloadResult 17: 16777216 op, 743026450.00 ns, 44.2878 ns/op +WorkloadResult 18: 16777216 op, 738267650.00 ns, 44.0042 ns/op +WorkloadResult 19: 16777216 op, 739650450.00 ns, 44.0866 ns/op +WorkloadResult 20: 16777216 op, 761893850.00 ns, 45.4124 ns/op +WorkloadResult 21: 16777216 op, 796457350.00 ns, 47.4726 ns/op +WorkloadResult 22: 16777216 op, 762397650.00 ns, 45.4424 ns/op +WorkloadResult 23: 16777216 op, 734510850.00 ns, 43.7803 ns/op +WorkloadResult 24: 16777216 op, 729219350.00 ns, 43.4649 ns/op +WorkloadResult 25: 16777216 op, 727618150.00 ns, 43.3694 ns/op +WorkloadResult 26: 16777216 op, 713456550.00 ns, 42.5253 ns/op +WorkloadResult 27: 16777216 op, 705062850.00 ns, 42.0250 ns/op +WorkloadResult 28: 16777216 op, 711759150.00 ns, 42.4242 ns/op +WorkloadResult 29: 16777216 op, 783771750.00 ns, 46.7164 ns/op +WorkloadResult 30: 16777216 op, 735852450.00 ns, 43.8602 ns/op +WorkloadResult 31: 16777216 op, 705430250.00 ns, 42.0469 ns/op +WorkloadResult 32: 16777216 op, 719027250.00 ns, 42.8574 ns/op +WorkloadResult 33: 16777216 op, 725356050.00 ns, 43.2346 ns/op +WorkloadResult 34: 16777216 op, 752327050.00 ns, 44.8422 ns/op +WorkloadResult 35: 16777216 op, 712651850.00 ns, 42.4774 ns/op +WorkloadResult 36: 16777216 op, 789170050.00 ns, 47.0382 ns/op +WorkloadResult 37: 16777216 op, 745384050.00 ns, 44.4284 ns/op +WorkloadResult 38: 16777216 op, 727921750.00 ns, 43.3875 ns/op +WorkloadResult 39: 16777216 op, 734868350.00 ns, 43.8016 ns/op +WorkloadResult 40: 16777216 op, 738001250.00 ns, 43.9883 ns/op +WorkloadResult 41: 16777216 op, 722388550.00 ns, 43.0577 ns/op +WorkloadResult 42: 16777216 op, 732798850.00 ns, 43.6782 ns/op +// GC: 476 0 0 8992587776 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 83632 has exited with code 0. + +Mean = 43.810 ns, StdErr = 0.232 ns (0.53%), N = 42, StdDev = 1.507 ns +Min = 41.628 ns, Q1 = 42.536 ns, Median = 43.695 ns, Q3 = 44.672 ns, Max = 47.473 ns +IQR = 2.135 ns, LowerFence = 39.333 ns, UpperFence = 47.875 ns +ConfidenceInterval = [42.986 ns; 44.634 ns] (CI 99.9%), Margin = 0.824 ns (1.88% of Mean) +Skewness = 0.72, Kurtosis = 2.67, MValue = 2.4 + +// ** Remained 18 (69.2%) benchmark(s) to run. Estimated finish 2026-02-23 20:00 (0h 5m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2724 1956 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLong128Elements --job ".NET 10.0" --benchmarkId 6 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 80000.00 ns, 80.0000 us/op +WorkloadJitting 1: 1 op, 818000.00 ns, 818.0000 us/op + +OverheadJitting 2: 16 op, 121600.00 ns, 7.6000 us/op +WorkloadJitting 2: 16 op, 114100.00 ns, 7.1313 us/op + +WorkloadPilot 1: 16 op, 2900.00 ns, 181.2500 ns/op +WorkloadPilot 2: 32 op, 3000.00 ns, 93.7500 ns/op +WorkloadPilot 3: 64 op, 17300.00 ns, 270.3125 ns/op +WorkloadPilot 4: 128 op, 26200.00 ns, 204.6875 ns/op +WorkloadPilot 5: 256 op, 50500.00 ns, 197.2656 ns/op +WorkloadPilot 6: 512 op, 119800.00 ns, 233.9844 ns/op +WorkloadPilot 7: 1024 op, 196000.00 ns, 191.4063 ns/op +WorkloadPilot 8: 2048 op, 384400.00 ns, 187.6953 ns/op +WorkloadPilot 9: 4096 op, 772400.00 ns, 188.5742 ns/op +WorkloadPilot 10: 8192 op, 1620500.00 ns, 197.8149 ns/op +WorkloadPilot 11: 16384 op, 3564400.00 ns, 217.5537 ns/op +WorkloadPilot 12: 32768 op, 2762600.00 ns, 84.3079 ns/op +WorkloadPilot 13: 65536 op, 4953400.00 ns, 75.5829 ns/op +WorkloadPilot 14: 131072 op, 8098400.00 ns, 61.7859 ns/op +WorkloadPilot 15: 262144 op, 17277400.00 ns, 65.9081 ns/op +WorkloadPilot 16: 524288 op, 33662100.00 ns, 64.2054 ns/op +WorkloadPilot 17: 1048576 op, 58800200.00 ns, 56.0762 ns/op +WorkloadPilot 18: 2097152 op, 118878100.00 ns, 56.6855 ns/op +WorkloadPilot 19: 4194304 op, 232255800.00 ns, 55.3741 ns/op +WorkloadPilot 20: 8388608 op, 442937700.00 ns, 52.8023 ns/op +WorkloadPilot 21: 16777216 op, 904294100.00 ns, 53.9001 ns/op + +OverheadWarmup 1: 16777216 op, 25471600.00 ns, 1.5182 ns/op +OverheadWarmup 2: 16777216 op, 25483100.00 ns, 1.5189 ns/op +OverheadWarmup 3: 16777216 op, 25500800.00 ns, 1.5200 ns/op +OverheadWarmup 4: 16777216 op, 25463100.00 ns, 1.5177 ns/op +OverheadWarmup 5: 16777216 op, 25517000.00 ns, 1.5209 ns/op +OverheadWarmup 6: 16777216 op, 25428600.00 ns, 1.5157 ns/op + +OverheadActual 1: 16777216 op, 25427800.00 ns, 1.5156 ns/op +OverheadActual 2: 16777216 op, 25442300.00 ns, 1.5165 ns/op +OverheadActual 3: 16777216 op, 25430900.00 ns, 1.5158 ns/op +OverheadActual 4: 16777216 op, 25408200.00 ns, 1.5144 ns/op +OverheadActual 5: 16777216 op, 25817400.00 ns, 1.5388 ns/op +OverheadActual 6: 16777216 op, 25471800.00 ns, 1.5182 ns/op +OverheadActual 7: 16777216 op, 25532200.00 ns, 1.5218 ns/op +OverheadActual 8: 16777216 op, 25418200.00 ns, 1.5150 ns/op +OverheadActual 9: 16777216 op, 25432900.00 ns, 1.5159 ns/op +OverheadActual 10: 16777216 op, 25456800.00 ns, 1.5173 ns/op +OverheadActual 11: 16777216 op, 24027300.00 ns, 1.4321 ns/op +OverheadActual 12: 16777216 op, 17918900.00 ns, 1.0680 ns/op +OverheadActual 13: 16777216 op, 18189000.00 ns, 1.0841 ns/op +OverheadActual 14: 16777216 op, 18388000.00 ns, 1.0960 ns/op +OverheadActual 15: 16777216 op, 18436100.00 ns, 1.0989 ns/op +OverheadActual 16: 16777216 op, 18018500.00 ns, 1.0740 ns/op +OverheadActual 17: 16777216 op, 17721200.00 ns, 1.0563 ns/op +OverheadActual 18: 16777216 op, 17775900.00 ns, 1.0595 ns/op +OverheadActual 19: 16777216 op, 17898700.00 ns, 1.0668 ns/op +OverheadActual 20: 16777216 op, 17912100.00 ns, 1.0676 ns/op + +WorkloadWarmup 1: 16777216 op, 905411100.00 ns, 53.9667 ns/op +WorkloadWarmup 2: 16777216 op, 916060400.00 ns, 54.6015 ns/op +WorkloadWarmup 3: 16777216 op, 904947500.00 ns, 53.9391 ns/op +WorkloadWarmup 4: 16777216 op, 913354600.00 ns, 54.4402 ns/op +WorkloadWarmup 5: 16777216 op, 900922700.00 ns, 53.6992 ns/op +WorkloadWarmup 6: 16777216 op, 910083400.00 ns, 54.2452 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 902196400.00 ns, 53.7751 ns/op +WorkloadActual 2: 16777216 op, 911098500.00 ns, 54.3057 ns/op +WorkloadActual 3: 16777216 op, 904288300.00 ns, 53.8998 ns/op +WorkloadActual 4: 16777216 op, 874150900.00 ns, 52.1035 ns/op +WorkloadActual 5: 16777216 op, 879273200.00 ns, 52.4088 ns/op +WorkloadActual 6: 16777216 op, 920896900.00 ns, 54.8897 ns/op +WorkloadActual 7: 16777216 op, 905622800.00 ns, 53.9793 ns/op +WorkloadActual 8: 16777216 op, 905520100.00 ns, 53.9732 ns/op +WorkloadActual 9: 16777216 op, 903594000.00 ns, 53.8584 ns/op +WorkloadActual 10: 16777216 op, 912753300.00 ns, 54.4043 ns/op +WorkloadActual 11: 16777216 op, 899646600.00 ns, 53.6231 ns/op +WorkloadActual 12: 16777216 op, 893669900.00 ns, 53.2669 ns/op +WorkloadActual 13: 16777216 op, 937814400.00 ns, 55.8981 ns/op +WorkloadActual 14: 16777216 op, 909829300.00 ns, 54.2301 ns/op +WorkloadActual 15: 16777216 op, 881260500.00 ns, 52.5272 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 877478650.00 ns, 52.3018 ns/op +WorkloadResult 2: 16777216 op, 886380750.00 ns, 52.8324 ns/op +WorkloadResult 3: 16777216 op, 879570550.00 ns, 52.4265 ns/op +WorkloadResult 4: 16777216 op, 849433150.00 ns, 50.6302 ns/op +WorkloadResult 5: 16777216 op, 854555450.00 ns, 50.9355 ns/op +WorkloadResult 6: 16777216 op, 896179150.00 ns, 53.4164 ns/op +WorkloadResult 7: 16777216 op, 880905050.00 ns, 52.5060 ns/op +WorkloadResult 8: 16777216 op, 880802350.00 ns, 52.4999 ns/op +WorkloadResult 9: 16777216 op, 878876250.00 ns, 52.3851 ns/op +WorkloadResult 10: 16777216 op, 888035550.00 ns, 52.9310 ns/op +WorkloadResult 11: 16777216 op, 874928850.00 ns, 52.1498 ns/op +WorkloadResult 12: 16777216 op, 868952150.00 ns, 51.7936 ns/op +WorkloadResult 13: 16777216 op, 885111550.00 ns, 52.7568 ns/op +WorkloadResult 14: 16777216 op, 856542750.00 ns, 51.0539 ns/op +// GC: 931 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 118480 has exited with code 0. + +Mean = 52.187 ns, StdErr = 0.217 ns (0.42%), N = 14, StdDev = 0.811 ns +Min = 50.630 ns, Q1 = 51.883 ns, Median = 52.406 ns, Q3 = 52.694 ns, Max = 53.416 ns +IQR = 0.811 ns, LowerFence = 50.665 ns, UpperFence = 53.911 ns +ConfidenceInterval = [51.272 ns; 53.102 ns] (CI 99.9%), Margin = 0.915 ns (1.75% of Mean) +Skewness = -0.6, Kurtosis = 2.13, MValue = 2 + +// ** Remained 17 (65.4%) benchmark(s) to run. Estimated finish 2026-02-23 20:00 (0h 5m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1612 2536 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneSmall16Bytes --job ".NET Framework 4.8.1" --benchmarkId 2 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 125000.00 ns, 125.0000 us/op +WorkloadJitting 1: 1 op, 1597400.00 ns, 1.5974 ms/op + +OverheadJitting 2: 16 op, 120100.00 ns, 7.5063 us/op +WorkloadJitting 2: 16 op, 132900.00 ns, 8.3063 us/op + +WorkloadPilot 1: 16 op, 2700.00 ns, 168.7500 ns/op +WorkloadPilot 2: 32 op, 1700.00 ns, 53.1250 ns/op +WorkloadPilot 3: 64 op, 2300.00 ns, 35.9375 ns/op +WorkloadPilot 4: 128 op, 3600.00 ns, 28.1250 ns/op +WorkloadPilot 5: 256 op, 6300.00 ns, 24.6094 ns/op +WorkloadPilot 6: 512 op, 12400.00 ns, 24.2188 ns/op +WorkloadPilot 7: 1024 op, 22800.00 ns, 22.2656 ns/op +WorkloadPilot 8: 2048 op, 45300.00 ns, 22.1191 ns/op +WorkloadPilot 9: 4096 op, 106600.00 ns, 26.0254 ns/op +WorkloadPilot 10: 8192 op, 225200.00 ns, 27.4902 ns/op +WorkloadPilot 11: 16384 op, 430400.00 ns, 26.2695 ns/op +WorkloadPilot 12: 32768 op, 872500.00 ns, 26.6266 ns/op +WorkloadPilot 13: 65536 op, 1731200.00 ns, 26.4160 ns/op +WorkloadPilot 14: 131072 op, 3477200.00 ns, 26.5289 ns/op +WorkloadPilot 15: 262144 op, 5837600.00 ns, 22.2687 ns/op +WorkloadPilot 16: 524288 op, 11327800.00 ns, 21.6061 ns/op +WorkloadPilot 17: 1048576 op, 22935000.00 ns, 21.8725 ns/op +WorkloadPilot 18: 2097152 op, 43822800.00 ns, 20.8963 ns/op +WorkloadPilot 19: 4194304 op, 86402300.00 ns, 20.5999 ns/op +WorkloadPilot 20: 8388608 op, 173077500.00 ns, 20.6324 ns/op +WorkloadPilot 21: 16777216 op, 350375600.00 ns, 20.8840 ns/op +WorkloadPilot 22: 33554432 op, 710412200.00 ns, 21.1719 ns/op + +OverheadWarmup 1: 33554432 op, 33952600.00 ns, 1.0119 ns/op +OverheadWarmup 2: 33554432 op, 32545000.00 ns, 0.9699 ns/op +OverheadWarmup 3: 33554432 op, 33410900.00 ns, 0.9957 ns/op +OverheadWarmup 4: 33554432 op, 33100500.00 ns, 0.9865 ns/op +OverheadWarmup 5: 33554432 op, 33323400.00 ns, 0.9931 ns/op +OverheadWarmup 6: 33554432 op, 33290800.00 ns, 0.9921 ns/op + +OverheadActual 1: 33554432 op, 32884100.00 ns, 0.9800 ns/op +OverheadActual 2: 33554432 op, 33509400.00 ns, 0.9987 ns/op +OverheadActual 3: 33554432 op, 33358200.00 ns, 0.9942 ns/op +OverheadActual 4: 33554432 op, 33444400.00 ns, 0.9967 ns/op +OverheadActual 5: 33554432 op, 32826000.00 ns, 0.9783 ns/op +OverheadActual 6: 33554432 op, 33033500.00 ns, 0.9845 ns/op +OverheadActual 7: 33554432 op, 34023700.00 ns, 1.0140 ns/op +OverheadActual 8: 33554432 op, 33517200.00 ns, 0.9989 ns/op +OverheadActual 9: 33554432 op, 33155000.00 ns, 0.9881 ns/op +OverheadActual 10: 33554432 op, 33168100.00 ns, 0.9885 ns/op +OverheadActual 11: 33554432 op, 34019900.00 ns, 1.0139 ns/op +OverheadActual 12: 33554432 op, 33053800.00 ns, 0.9851 ns/op +OverheadActual 13: 33554432 op, 32897600.00 ns, 0.9804 ns/op +OverheadActual 14: 33554432 op, 32819200.00 ns, 0.9781 ns/op +OverheadActual 15: 33554432 op, 33816400.00 ns, 1.0078 ns/op + +WorkloadWarmup 1: 33554432 op, 696481900.00 ns, 20.7568 ns/op +WorkloadWarmup 2: 33554432 op, 694856800.00 ns, 20.7083 ns/op +WorkloadWarmup 3: 33554432 op, 697095000.00 ns, 20.7750 ns/op +WorkloadWarmup 4: 33554432 op, 699191900.00 ns, 20.8375 ns/op +WorkloadWarmup 5: 33554432 op, 694594800.00 ns, 20.7005 ns/op +WorkloadWarmup 6: 33554432 op, 701210100.00 ns, 20.8977 ns/op +WorkloadWarmup 7: 33554432 op, 697960900.00 ns, 20.8009 ns/op + +// BeforeActualRun +WorkloadActual 1: 33554432 op, 696233800.00 ns, 20.7494 ns/op +WorkloadActual 2: 33554432 op, 696734500.00 ns, 20.7643 ns/op +WorkloadActual 3: 33554432 op, 698739000.00 ns, 20.8240 ns/op +WorkloadActual 4: 33554432 op, 694025900.00 ns, 20.6836 ns/op +WorkloadActual 5: 33554432 op, 696073900.00 ns, 20.7446 ns/op +WorkloadActual 6: 33554432 op, 695907600.00 ns, 20.7397 ns/op +WorkloadActual 7: 33554432 op, 698986600.00 ns, 20.8314 ns/op +WorkloadActual 8: 33554432 op, 705888800.00 ns, 21.0371 ns/op +WorkloadActual 9: 33554432 op, 736465100.00 ns, 21.9484 ns/op +WorkloadActual 10: 33554432 op, 705519800.00 ns, 21.0261 ns/op +WorkloadActual 11: 33554432 op, 743627900.00 ns, 22.1618 ns/op +WorkloadActual 12: 33554432 op, 698210500.00 ns, 20.8083 ns/op +WorkloadActual 13: 33554432 op, 702151300.00 ns, 20.9257 ns/op +WorkloadActual 14: 33554432 op, 704728600.00 ns, 21.0025 ns/op +WorkloadActual 15: 33554432 op, 699831600.00 ns, 20.8566 ns/op + +// AfterActualRun +WorkloadResult 1: 33554432 op, 663065700.00 ns, 19.7609 ns/op +WorkloadResult 2: 33554432 op, 663566400.00 ns, 19.7758 ns/op +WorkloadResult 3: 33554432 op, 665570900.00 ns, 19.8356 ns/op +WorkloadResult 4: 33554432 op, 660857800.00 ns, 19.6951 ns/op +WorkloadResult 5: 33554432 op, 662905800.00 ns, 19.7561 ns/op +WorkloadResult 6: 33554432 op, 662739500.00 ns, 19.7512 ns/op +WorkloadResult 7: 33554432 op, 665818500.00 ns, 19.8429 ns/op +WorkloadResult 8: 33554432 op, 672720700.00 ns, 20.0486 ns/op +WorkloadResult 9: 33554432 op, 672351700.00 ns, 20.0376 ns/op +WorkloadResult 10: 33554432 op, 665042400.00 ns, 19.8198 ns/op +WorkloadResult 11: 33554432 op, 668983200.00 ns, 19.9373 ns/op +WorkloadResult 12: 33554432 op, 671560500.00 ns, 20.0141 ns/op +WorkloadResult 13: 33554432 op, 666663500.00 ns, 19.8681 ns/op +// GC: 213 0 0 1346131264 33554432 +// Threading: 0 0 33554432 + +// AfterAll +// Benchmark Process 84596 has exited with code 0. + +Mean = 19.857 ns, StdErr = 0.033 ns (0.16%), N = 13, StdDev = 0.118 ns +Min = 19.695 ns, Q1 = 19.761 ns, Median = 19.836 ns, Q3 = 19.937 ns, Max = 20.049 ns +IQR = 0.176 ns, LowerFence = 19.496 ns, UpperFence = 20.202 ns +ConfidenceInterval = [19.716 ns; 19.998 ns] (CI 99.9%), Margin = 0.141 ns (0.71% of Mean) +Skewness = 0.44, Kurtosis = 1.65, MValue = 2 + +// ** Remained 16 (61.5%) benchmark(s) to run. Estimated finish 2026-02-23 20:00 (0h 5m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1448 1464 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneMedium128Bytes --job ".NET Framework 4.8.1" --benchmarkId 3 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 124800.00 ns, 124.8000 us/op +WorkloadJitting 1: 1 op, 1743500.00 ns, 1.7435 ms/op + +OverheadJitting 2: 16 op, 128000.00 ns, 8.0000 us/op +WorkloadJitting 2: 16 op, 137200.00 ns, 8.5750 us/op + +WorkloadPilot 1: 16 op, 2800.00 ns, 175.0000 ns/op +WorkloadPilot 2: 32 op, 2000.00 ns, 62.5000 ns/op +WorkloadPilot 3: 64 op, 2600.00 ns, 40.6250 ns/op +WorkloadPilot 4: 128 op, 3800.00 ns, 29.6875 ns/op +WorkloadPilot 5: 256 op, 8600.00 ns, 33.5938 ns/op +WorkloadPilot 6: 512 op, 14800.00 ns, 28.9063 ns/op +WorkloadPilot 7: 1024 op, 44900.00 ns, 43.8477 ns/op +WorkloadPilot 8: 2048 op, 84900.00 ns, 41.4551 ns/op +WorkloadPilot 9: 4096 op, 187500.00 ns, 45.7764 ns/op +WorkloadPilot 10: 8192 op, 369100.00 ns, 45.0562 ns/op +WorkloadPilot 11: 16384 op, 680900.00 ns, 41.5588 ns/op +WorkloadPilot 12: 32768 op, 1411000.00 ns, 43.0603 ns/op +WorkloadPilot 13: 65536 op, 2143600.00 ns, 32.7087 ns/op +WorkloadPilot 14: 131072 op, 3401800.00 ns, 25.9537 ns/op +WorkloadPilot 15: 262144 op, 6447300.00 ns, 24.5945 ns/op +WorkloadPilot 16: 524288 op, 12878900.00 ns, 24.5646 ns/op +WorkloadPilot 17: 1048576 op, 25973200.00 ns, 24.7700 ns/op +WorkloadPilot 18: 2097152 op, 51968100.00 ns, 24.7803 ns/op +WorkloadPilot 19: 4194304 op, 102846900.00 ns, 24.5206 ns/op +WorkloadPilot 20: 8388608 op, 205155400.00 ns, 24.4564 ns/op +WorkloadPilot 21: 16777216 op, 411758900.00 ns, 24.5427 ns/op +WorkloadPilot 22: 33554432 op, 825244500.00 ns, 24.5942 ns/op + +OverheadWarmup 1: 33554432 op, 33085300.00 ns, 0.9860 ns/op +OverheadWarmup 2: 33554432 op, 33558100.00 ns, 1.0001 ns/op +OverheadWarmup 3: 33554432 op, 33000700.00 ns, 0.9835 ns/op +OverheadWarmup 4: 33554432 op, 33225000.00 ns, 0.9902 ns/op +OverheadWarmup 5: 33554432 op, 33254900.00 ns, 0.9911 ns/op +OverheadWarmup 6: 33554432 op, 32297500.00 ns, 0.9625 ns/op + +OverheadActual 1: 33554432 op, 33853100.00 ns, 1.0089 ns/op +OverheadActual 2: 33554432 op, 33141300.00 ns, 0.9877 ns/op +OverheadActual 3: 33554432 op, 32582500.00 ns, 0.9710 ns/op +OverheadActual 4: 33554432 op, 32777100.00 ns, 0.9768 ns/op +OverheadActual 5: 33554432 op, 32765300.00 ns, 0.9765 ns/op +OverheadActual 6: 33554432 op, 32937200.00 ns, 0.9816 ns/op +OverheadActual 7: 33554432 op, 33433000.00 ns, 0.9964 ns/op +OverheadActual 8: 33554432 op, 34021700.00 ns, 1.0139 ns/op +OverheadActual 9: 33554432 op, 33485300.00 ns, 0.9979 ns/op +OverheadActual 10: 33554432 op, 32778700.00 ns, 0.9769 ns/op +OverheadActual 11: 33554432 op, 33637600.00 ns, 1.0025 ns/op +OverheadActual 12: 33554432 op, 33003300.00 ns, 0.9836 ns/op +OverheadActual 13: 33554432 op, 33215600.00 ns, 0.9899 ns/op +OverheadActual 14: 33554432 op, 32710000.00 ns, 0.9748 ns/op +OverheadActual 15: 33554432 op, 32488500.00 ns, 0.9682 ns/op + +WorkloadWarmup 1: 33554432 op, 826967000.00 ns, 24.6455 ns/op +WorkloadWarmup 2: 33554432 op, 821813300.00 ns, 24.4919 ns/op +WorkloadWarmup 3: 33554432 op, 827186400.00 ns, 24.6521 ns/op +WorkloadWarmup 4: 33554432 op, 822154600.00 ns, 24.5021 ns/op +WorkloadWarmup 5: 33554432 op, 824547100.00 ns, 24.5734 ns/op +WorkloadWarmup 6: 33554432 op, 822020400.00 ns, 24.4981 ns/op + +// BeforeActualRun +WorkloadActual 1: 33554432 op, 826862000.00 ns, 24.6424 ns/op +WorkloadActual 2: 33554432 op, 823124500.00 ns, 24.5310 ns/op +WorkloadActual 3: 33554432 op, 825872100.00 ns, 24.6129 ns/op +WorkloadActual 4: 33554432 op, 820390700.00 ns, 24.4495 ns/op +WorkloadActual 5: 33554432 op, 820993500.00 ns, 24.4675 ns/op +WorkloadActual 6: 33554432 op, 821735900.00 ns, 24.4896 ns/op +WorkloadActual 7: 33554432 op, 822853000.00 ns, 24.5229 ns/op +WorkloadActual 8: 33554432 op, 827830900.00 ns, 24.6713 ns/op +WorkloadActual 9: 33554432 op, 823679200.00 ns, 24.5476 ns/op +WorkloadActual 10: 33554432 op, 823002700.00 ns, 24.5274 ns/op +WorkloadActual 11: 33554432 op, 831061900.00 ns, 24.7676 ns/op +WorkloadActual 12: 33554432 op, 825991100.00 ns, 24.6165 ns/op +WorkloadActual 13: 33554432 op, 822849700.00 ns, 24.5228 ns/op +WorkloadActual 14: 33554432 op, 821251800.00 ns, 24.4752 ns/op +WorkloadActual 15: 33554432 op, 854378000.00 ns, 25.4624 ns/op + +// AfterActualRun +WorkloadResult 1: 33554432 op, 793858700.00 ns, 23.6588 ns/op +WorkloadResult 2: 33554432 op, 790121200.00 ns, 23.5474 ns/op +WorkloadResult 3: 33554432 op, 792868800.00 ns, 23.6293 ns/op +WorkloadResult 4: 33554432 op, 787387400.00 ns, 23.4660 ns/op +WorkloadResult 5: 33554432 op, 787990200.00 ns, 23.4839 ns/op +WorkloadResult 6: 33554432 op, 788732600.00 ns, 23.5061 ns/op +WorkloadResult 7: 33554432 op, 789849700.00 ns, 23.5394 ns/op +WorkloadResult 8: 33554432 op, 794827600.00 ns, 23.6877 ns/op +WorkloadResult 9: 33554432 op, 790675900.00 ns, 23.5640 ns/op +WorkloadResult 10: 33554432 op, 789999400.00 ns, 23.5438 ns/op +WorkloadResult 11: 33554432 op, 798058600.00 ns, 23.7840 ns/op +WorkloadResult 12: 33554432 op, 792987800.00 ns, 23.6329 ns/op +WorkloadResult 13: 33554432 op, 789846400.00 ns, 23.5393 ns/op +WorkloadResult 14: 33554432 op, 788248500.00 ns, 23.4916 ns/op +// GC: 813 0 0 5115383536 33554432 +// Threading: 0 0 33554432 + +// AfterAll +// Benchmark Process 104260 has exited with code 0. + +Mean = 23.577 ns, StdErr = 0.024 ns (0.10%), N = 14, StdDev = 0.090 ns +Min = 23.466 ns, Q1 = 23.514 ns, Median = 23.546 ns, Q3 = 23.632 ns, Max = 23.784 ns +IQR = 0.118 ns, LowerFence = 23.338 ns, UpperFence = 23.808 ns +ConfidenceInterval = [23.475 ns; 23.679 ns] (CI 99.9%), Margin = 0.102 ns (0.43% of Mean) +Skewness = 0.76, Kurtosis = 2.55, MValue = 2 + +// ** Remained 15 (57.7%) benchmark(s) to run. Estimated finish 2026-02-23 20:01 (0h 5m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1436 1444 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLarge1024Bytes --job ".NET Framework 4.8.1" --benchmarkId 4 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 134400.00 ns, 134.4000 us/op +WorkloadJitting 1: 1 op, 1644000.00 ns, 1.6440 ms/op + +OverheadJitting 2: 16 op, 131800.00 ns, 8.2375 us/op +WorkloadJitting 2: 16 op, 132100.00 ns, 8.2563 us/op + +WorkloadPilot 1: 16 op, 3500.00 ns, 218.7500 ns/op +WorkloadPilot 2: 32 op, 3300.00 ns, 103.1250 ns/op +WorkloadPilot 3: 64 op, 5300.00 ns, 82.8125 ns/op +WorkloadPilot 4: 128 op, 19300.00 ns, 150.7813 ns/op +WorkloadPilot 5: 256 op, 46100.00 ns, 180.0781 ns/op +WorkloadPilot 6: 512 op, 89000.00 ns, 173.8281 ns/op +WorkloadPilot 7: 1024 op, 162900.00 ns, 159.0820 ns/op +WorkloadPilot 8: 2048 op, 345100.00 ns, 168.5059 ns/op +WorkloadPilot 9: 4096 op, 768500.00 ns, 187.6221 ns/op +WorkloadPilot 10: 8192 op, 947000.00 ns, 115.6006 ns/op +WorkloadPilot 11: 16384 op, 950700.00 ns, 58.0261 ns/op +WorkloadPilot 12: 32768 op, 1618100.00 ns, 49.3805 ns/op +WorkloadPilot 13: 65536 op, 3260500.00 ns, 49.7513 ns/op +WorkloadPilot 14: 131072 op, 6594600.00 ns, 50.3128 ns/op +WorkloadPilot 15: 262144 op, 12687600.00 ns, 48.3994 ns/op +WorkloadPilot 16: 524288 op, 25747900.00 ns, 49.1102 ns/op +WorkloadPilot 17: 1048576 op, 49934700.00 ns, 47.6214 ns/op +WorkloadPilot 18: 2097152 op, 98538800.00 ns, 46.9870 ns/op +WorkloadPilot 19: 4194304 op, 196957000.00 ns, 46.9582 ns/op +WorkloadPilot 20: 8388608 op, 394570600.00 ns, 47.0365 ns/op +WorkloadPilot 21: 16777216 op, 791792400.00 ns, 47.1945 ns/op + +OverheadWarmup 1: 16777216 op, 16587700.00 ns, 0.9887 ns/op +OverheadWarmup 2: 16777216 op, 16853300.00 ns, 1.0045 ns/op +OverheadWarmup 3: 16777216 op, 17213300.00 ns, 1.0260 ns/op +OverheadWarmup 4: 16777216 op, 16636400.00 ns, 0.9916 ns/op +OverheadWarmup 5: 16777216 op, 17144300.00 ns, 1.0219 ns/op +OverheadWarmup 6: 16777216 op, 16729500.00 ns, 0.9972 ns/op + +OverheadActual 1: 16777216 op, 16728800.00 ns, 0.9971 ns/op +OverheadActual 2: 16777216 op, 16855900.00 ns, 1.0047 ns/op +OverheadActual 3: 16777216 op, 16793100.00 ns, 1.0009 ns/op +OverheadActual 4: 16777216 op, 17223200.00 ns, 1.0266 ns/op +OverheadActual 5: 16777216 op, 16690600.00 ns, 0.9948 ns/op +OverheadActual 6: 16777216 op, 16450200.00 ns, 0.9805 ns/op +OverheadActual 7: 16777216 op, 17163400.00 ns, 1.0230 ns/op +OverheadActual 8: 16777216 op, 17278400.00 ns, 1.0299 ns/op +OverheadActual 9: 16777216 op, 16959600.00 ns, 1.0109 ns/op +OverheadActual 10: 16777216 op, 16751700.00 ns, 0.9985 ns/op +OverheadActual 11: 16777216 op, 17022600.00 ns, 1.0146 ns/op +OverheadActual 12: 16777216 op, 17236500.00 ns, 1.0274 ns/op +OverheadActual 13: 16777216 op, 16994600.00 ns, 1.0130 ns/op +OverheadActual 14: 16777216 op, 17065100.00 ns, 1.0172 ns/op +OverheadActual 15: 16777216 op, 16474900.00 ns, 0.9820 ns/op + +WorkloadWarmup 1: 16777216 op, 789961600.00 ns, 47.0854 ns/op +WorkloadWarmup 2: 16777216 op, 797749500.00 ns, 47.5496 ns/op +WorkloadWarmup 3: 16777216 op, 789223100.00 ns, 47.0414 ns/op +WorkloadWarmup 4: 16777216 op, 791406800.00 ns, 47.1715 ns/op +WorkloadWarmup 5: 16777216 op, 790801800.00 ns, 47.1355 ns/op +WorkloadWarmup 6: 16777216 op, 795798400.00 ns, 47.4333 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 793717800.00 ns, 47.3093 ns/op +WorkloadActual 2: 16777216 op, 798993500.00 ns, 47.6237 ns/op +WorkloadActual 3: 16777216 op, 792695100.00 ns, 47.2483 ns/op +WorkloadActual 4: 16777216 op, 800877000.00 ns, 47.7360 ns/op +WorkloadActual 5: 16777216 op, 818879700.00 ns, 48.8090 ns/op +WorkloadActual 6: 16777216 op, 803736700.00 ns, 47.9064 ns/op +WorkloadActual 7: 16777216 op, 794739700.00 ns, 47.3702 ns/op +WorkloadActual 8: 16777216 op, 797395000.00 ns, 47.5284 ns/op +WorkloadActual 9: 16777216 op, 795787400.00 ns, 47.4326 ns/op +WorkloadActual 10: 16777216 op, 800948200.00 ns, 47.7402 ns/op +WorkloadActual 11: 16777216 op, 795247900.00 ns, 47.4005 ns/op +WorkloadActual 12: 16777216 op, 794501100.00 ns, 47.3560 ns/op +WorkloadActual 13: 16777216 op, 797059100.00 ns, 47.5084 ns/op +WorkloadActual 14: 16777216 op, 792393400.00 ns, 47.2303 ns/op +WorkloadActual 15: 16777216 op, 794528800.00 ns, 47.3576 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 776758200.00 ns, 46.2984 ns/op +WorkloadResult 2: 16777216 op, 782033900.00 ns, 46.6129 ns/op +WorkloadResult 3: 16777216 op, 775735500.00 ns, 46.2374 ns/op +WorkloadResult 4: 16777216 op, 783917400.00 ns, 46.7251 ns/op +WorkloadResult 5: 16777216 op, 786777100.00 ns, 46.8956 ns/op +WorkloadResult 6: 16777216 op, 777780100.00 ns, 46.3593 ns/op +WorkloadResult 7: 16777216 op, 780435400.00 ns, 46.5176 ns/op +WorkloadResult 8: 16777216 op, 778827800.00 ns, 46.4218 ns/op +WorkloadResult 9: 16777216 op, 783988600.00 ns, 46.7294 ns/op +WorkloadResult 10: 16777216 op, 778288300.00 ns, 46.3896 ns/op +WorkloadResult 11: 16777216 op, 777541500.00 ns, 46.3451 ns/op +WorkloadResult 12: 16777216 op, 780099500.00 ns, 46.4976 ns/op +WorkloadResult 13: 16777216 op, 775433800.00 ns, 46.2195 ns/op +WorkloadResult 14: 16777216 op, 777569200.00 ns, 46.3467 ns/op +// GC: 2802 11 0 17636332896 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 47864 has exited with code 0. + +Mean = 46.471 ns, StdErr = 0.054 ns (0.12%), N = 14, StdDev = 0.203 ns +Min = 46.219 ns, Q1 = 46.345 ns, Median = 46.406 ns, Q3 = 46.589 ns, Max = 46.896 ns +IQR = 0.244 ns, LowerFence = 45.980 ns, UpperFence = 46.954 ns +ConfidenceInterval = [46.242 ns; 46.700 ns] (CI 99.9%), Margin = 0.229 ns (0.49% of Mean) +Skewness = 0.63, Kurtosis = 2.11, MValue = 2 + +// ** Remained 14 (53.8%) benchmark(s) to run. Estimated finish 2026-02-23 20:01 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2232 1648 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneInt128Elements --job ".NET Framework 4.8.1" --benchmarkId 5 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 122900.00 ns, 122.9000 us/op +WorkloadJitting 1: 1 op, 1600700.00 ns, 1.6007 ms/op + +OverheadJitting 2: 16 op, 116100.00 ns, 7.2563 us/op +WorkloadJitting 2: 16 op, 134300.00 ns, 8.3938 us/op + +WorkloadPilot 1: 16 op, 2500.00 ns, 156.2500 ns/op +WorkloadPilot 2: 32 op, 2700.00 ns, 84.3750 ns/op +WorkloadPilot 3: 64 op, 4700.00 ns, 73.4375 ns/op +WorkloadPilot 4: 128 op, 6600.00 ns, 51.5625 ns/op +WorkloadPilot 5: 256 op, 35500.00 ns, 138.6719 ns/op +WorkloadPilot 6: 512 op, 22500.00 ns, 43.9453 ns/op +WorkloadPilot 7: 1024 op, 101500.00 ns, 99.1211 ns/op +WorkloadPilot 8: 2048 op, 207700.00 ns, 101.4160 ns/op +WorkloadPilot 9: 4096 op, 429900.00 ns, 104.9561 ns/op +WorkloadPilot 10: 8192 op, 863500.00 ns, 105.4077 ns/op +WorkloadPilot 11: 16384 op, 1111900.00 ns, 67.8650 ns/op +WorkloadPilot 12: 32768 op, 1169600.00 ns, 35.6934 ns/op +WorkloadPilot 13: 65536 op, 2236800.00 ns, 34.1309 ns/op +WorkloadPilot 14: 131072 op, 4524700.00 ns, 34.5207 ns/op +WorkloadPilot 15: 262144 op, 9074900.00 ns, 34.6180 ns/op +WorkloadPilot 16: 524288 op, 17730700.00 ns, 33.8186 ns/op +WorkloadPilot 17: 1048576 op, 35622000.00 ns, 33.9718 ns/op +WorkloadPilot 18: 2097152 op, 70446800.00 ns, 33.5917 ns/op +WorkloadPilot 19: 4194304 op, 140450900.00 ns, 33.4861 ns/op +WorkloadPilot 20: 8388608 op, 280542200.00 ns, 33.4432 ns/op +WorkloadPilot 21: 16777216 op, 561822700.00 ns, 33.4872 ns/op + +OverheadWarmup 1: 16777216 op, 17001700.00 ns, 1.0134 ns/op +OverheadWarmup 2: 16777216 op, 17065800.00 ns, 1.0172 ns/op +OverheadWarmup 3: 16777216 op, 17299000.00 ns, 1.0311 ns/op +OverheadWarmup 4: 16777216 op, 16934600.00 ns, 1.0094 ns/op +OverheadWarmup 5: 16777216 op, 16967100.00 ns, 1.0113 ns/op +OverheadWarmup 6: 16777216 op, 16788600.00 ns, 1.0007 ns/op + +OverheadActual 1: 16777216 op, 16544100.00 ns, 0.9861 ns/op +OverheadActual 2: 16777216 op, 16599700.00 ns, 0.9894 ns/op +OverheadActual 3: 16777216 op, 16376500.00 ns, 0.9761 ns/op +OverheadActual 4: 16777216 op, 16962500.00 ns, 1.0110 ns/op +OverheadActual 5: 16777216 op, 16481800.00 ns, 0.9824 ns/op +OverheadActual 6: 16777216 op, 16819800.00 ns, 1.0025 ns/op +OverheadActual 7: 16777216 op, 17021400.00 ns, 1.0146 ns/op +OverheadActual 8: 16777216 op, 16861000.00 ns, 1.0050 ns/op +OverheadActual 9: 16777216 op, 16798300.00 ns, 1.0013 ns/op +OverheadActual 10: 16777216 op, 16768600.00 ns, 0.9995 ns/op +OverheadActual 11: 16777216 op, 16276800.00 ns, 0.9702 ns/op +OverheadActual 12: 16777216 op, 16530700.00 ns, 0.9853 ns/op +OverheadActual 13: 16777216 op, 16584300.00 ns, 0.9885 ns/op +OverheadActual 14: 16777216 op, 16878400.00 ns, 1.0060 ns/op +OverheadActual 15: 16777216 op, 16762500.00 ns, 0.9991 ns/op + +WorkloadWarmup 1: 16777216 op, 563564700.00 ns, 33.5911 ns/op +WorkloadWarmup 2: 16777216 op, 564170700.00 ns, 33.6272 ns/op +WorkloadWarmup 3: 16777216 op, 561967100.00 ns, 33.4958 ns/op +WorkloadWarmup 4: 16777216 op, 562628300.00 ns, 33.5353 ns/op +WorkloadWarmup 5: 16777216 op, 574745700.00 ns, 34.2575 ns/op +WorkloadWarmup 6: 16777216 op, 573633100.00 ns, 34.1912 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 755021100.00 ns, 45.0028 ns/op +WorkloadActual 2: 16777216 op, 571559300.00 ns, 34.0676 ns/op +WorkloadActual 3: 16777216 op, 582461000.00 ns, 34.7174 ns/op +WorkloadActual 4: 16777216 op, 620834600.00 ns, 37.0046 ns/op +WorkloadActual 5: 16777216 op, 589077000.00 ns, 35.1117 ns/op +WorkloadActual 6: 16777216 op, 574292700.00 ns, 34.2305 ns/op +WorkloadActual 7: 16777216 op, 565960200.00 ns, 33.7339 ns/op +WorkloadActual 8: 16777216 op, 569412100.00 ns, 33.9396 ns/op +WorkloadActual 9: 16777216 op, 565374300.00 ns, 33.6989 ns/op +WorkloadActual 10: 16777216 op, 563126300.00 ns, 33.5649 ns/op +WorkloadActual 11: 16777216 op, 563408700.00 ns, 33.5818 ns/op +WorkloadActual 12: 16777216 op, 562218800.00 ns, 33.5109 ns/op +WorkloadActual 13: 16777216 op, 564630800.00 ns, 33.6546 ns/op +WorkloadActual 14: 16777216 op, 562630700.00 ns, 33.5354 ns/op +WorkloadActual 15: 16777216 op, 570209200.00 ns, 33.9871 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 554796800.00 ns, 33.0685 ns/op +WorkloadResult 2: 16777216 op, 565698500.00 ns, 33.7183 ns/op +WorkloadResult 3: 16777216 op, 572314500.00 ns, 34.1126 ns/op +WorkloadResult 4: 16777216 op, 557530200.00 ns, 33.2314 ns/op +WorkloadResult 5: 16777216 op, 549197700.00 ns, 32.7347 ns/op +WorkloadResult 6: 16777216 op, 552649600.00 ns, 32.9405 ns/op +WorkloadResult 7: 16777216 op, 548611800.00 ns, 32.6998 ns/op +WorkloadResult 8: 16777216 op, 546363800.00 ns, 32.5658 ns/op +WorkloadResult 9: 16777216 op, 546646200.00 ns, 32.5827 ns/op +WorkloadResult 10: 16777216 op, 545456300.00 ns, 32.5117 ns/op +WorkloadResult 11: 16777216 op, 547868300.00 ns, 32.6555 ns/op +WorkloadResult 12: 16777216 op, 545868200.00 ns, 32.5363 ns/op +WorkloadResult 13: 16777216 op, 553446700.00 ns, 32.9880 ns/op +// GC: 1433 2 0 9019350704 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 86088 has exited with code 0. + +Mean = 32.950 ns, StdErr = 0.136 ns (0.41%), N = 13, StdDev = 0.490 ns +Min = 32.512 ns, Q1 = 32.583 ns, Median = 32.735 ns, Q3 = 33.068 ns, Max = 34.113 ns +IQR = 0.486 ns, LowerFence = 31.854 ns, UpperFence = 33.797 ns +ConfidenceInterval = [32.363 ns; 33.536 ns] (CI 99.9%), Margin = 0.586 ns (1.78% of Mean) +Skewness = 1.14, Kurtosis = 3.08, MValue = 2 + +// ** Remained 13 (50.0%) benchmark(s) to run. Estimated finish 2026-02-23 20:01 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2728 2068 --benchmarkName BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks.CloneLong128Elements --job ".NET Framework 4.8.1" --benchmarkId 6 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 171500.00 ns, 171.5000 us/op +WorkloadJitting 1: 1 op, 1736800.00 ns, 1.7368 ms/op + +OverheadJitting 2: 16 op, 169600.00 ns, 10.6000 us/op +WorkloadJitting 2: 16 op, 210700.00 ns, 13.1688 us/op + +WorkloadPilot 1: 16 op, 4100.00 ns, 256.2500 ns/op +WorkloadPilot 2: 32 op, 3700.00 ns, 115.6250 ns/op +WorkloadPilot 3: 64 op, 6800.00 ns, 106.2500 ns/op +WorkloadPilot 4: 128 op, 35100.00 ns, 274.2188 ns/op +WorkloadPilot 5: 256 op, 15400.00 ns, 60.1563 ns/op +WorkloadPilot 6: 512 op, 95900.00 ns, 187.3047 ns/op +WorkloadPilot 7: 1024 op, 184500.00 ns, 180.1758 ns/op +WorkloadPilot 8: 2048 op, 361000.00 ns, 176.2695 ns/op +WorkloadPilot 9: 4096 op, 749400.00 ns, 182.9590 ns/op +WorkloadPilot 10: 8192 op, 983300.00 ns, 120.0317 ns/op +WorkloadPilot 11: 16384 op, 866200.00 ns, 52.8687 ns/op +WorkloadPilot 12: 32768 op, 1593300.00 ns, 48.6237 ns/op +WorkloadPilot 13: 65536 op, 3535400.00 ns, 53.9459 ns/op +WorkloadPilot 14: 131072 op, 6232700.00 ns, 47.5517 ns/op +WorkloadPilot 15: 262144 op, 12188800.00 ns, 46.4966 ns/op +WorkloadPilot 16: 524288 op, 24813900.00 ns, 47.3288 ns/op +WorkloadPilot 17: 1048576 op, 48733800.00 ns, 46.4762 ns/op +WorkloadPilot 18: 2097152 op, 97085300.00 ns, 46.2939 ns/op +WorkloadPilot 19: 4194304 op, 194031700.00 ns, 46.2608 ns/op +WorkloadPilot 20: 8388608 op, 389098500.00 ns, 46.3842 ns/op +WorkloadPilot 21: 16777216 op, 774775100.00 ns, 46.1802 ns/op + +OverheadWarmup 1: 16777216 op, 16599000.00 ns, 0.9894 ns/op +OverheadWarmup 2: 16777216 op, 17254700.00 ns, 1.0285 ns/op +OverheadWarmup 3: 16777216 op, 16820900.00 ns, 1.0026 ns/op +OverheadWarmup 4: 16777216 op, 17247800.00 ns, 1.0280 ns/op +OverheadWarmup 5: 16777216 op, 16905900.00 ns, 1.0077 ns/op + +OverheadActual 1: 16777216 op, 16790900.00 ns, 1.0008 ns/op +OverheadActual 2: 16777216 op, 17264600.00 ns, 1.0291 ns/op +OverheadActual 3: 16777216 op, 16503300.00 ns, 0.9837 ns/op +OverheadActual 4: 16777216 op, 16291200.00 ns, 0.9710 ns/op +OverheadActual 5: 16777216 op, 17245800.00 ns, 1.0279 ns/op +OverheadActual 6: 16777216 op, 16681900.00 ns, 0.9943 ns/op +OverheadActual 7: 16777216 op, 16469800.00 ns, 0.9817 ns/op +OverheadActual 8: 16777216 op, 16695700.00 ns, 0.9951 ns/op +OverheadActual 9: 16777216 op, 16810300.00 ns, 1.0020 ns/op +OverheadActual 10: 16777216 op, 16554800.00 ns, 0.9867 ns/op +OverheadActual 11: 16777216 op, 16303100.00 ns, 0.9717 ns/op +OverheadActual 12: 16777216 op, 17084800.00 ns, 1.0183 ns/op +OverheadActual 13: 16777216 op, 16557200.00 ns, 0.9869 ns/op +OverheadActual 14: 16777216 op, 16723500.00 ns, 0.9968 ns/op +OverheadActual 15: 16777216 op, 16695200.00 ns, 0.9951 ns/op + +WorkloadWarmup 1: 16777216 op, 772126600.00 ns, 46.0223 ns/op +WorkloadWarmup 2: 16777216 op, 776316000.00 ns, 46.2720 ns/op +WorkloadWarmup 3: 16777216 op, 775525200.00 ns, 46.2249 ns/op +WorkloadWarmup 4: 16777216 op, 775221800.00 ns, 46.2068 ns/op +WorkloadWarmup 5: 16777216 op, 776171400.00 ns, 46.2634 ns/op +WorkloadWarmup 6: 16777216 op, 775534800.00 ns, 46.2255 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 887679100.00 ns, 52.9098 ns/op +WorkloadActual 2: 16777216 op, 801197700.00 ns, 47.7551 ns/op +WorkloadActual 3: 16777216 op, 807474000.00 ns, 48.1292 ns/op +WorkloadActual 4: 16777216 op, 773256300.00 ns, 46.0897 ns/op +WorkloadActual 5: 16777216 op, 773951600.00 ns, 46.1311 ns/op +WorkloadActual 6: 16777216 op, 777757500.00 ns, 46.3580 ns/op +WorkloadActual 7: 16777216 op, 775884600.00 ns, 46.2463 ns/op +WorkloadActual 8: 16777216 op, 774767200.00 ns, 46.1797 ns/op +WorkloadActual 9: 16777216 op, 774062900.00 ns, 46.1377 ns/op +WorkloadActual 10: 16777216 op, 774848000.00 ns, 46.1845 ns/op +WorkloadActual 11: 16777216 op, 773040500.00 ns, 46.0768 ns/op +WorkloadActual 12: 16777216 op, 772734200.00 ns, 46.0585 ns/op +WorkloadActual 13: 16777216 op, 777839100.00 ns, 46.3628 ns/op +WorkloadActual 14: 16777216 op, 774304600.00 ns, 46.1522 ns/op +WorkloadActual 15: 16777216 op, 772882300.00 ns, 46.0674 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 756561100.00 ns, 45.0946 ns/op +WorkloadResult 2: 16777216 op, 757256400.00 ns, 45.1360 ns/op +WorkloadResult 3: 16777216 op, 761062300.00 ns, 45.3628 ns/op +WorkloadResult 4: 16777216 op, 759189400.00 ns, 45.2512 ns/op +WorkloadResult 5: 16777216 op, 758072000.00 ns, 45.1846 ns/op +WorkloadResult 6: 16777216 op, 757367700.00 ns, 45.1426 ns/op +WorkloadResult 7: 16777216 op, 758152800.00 ns, 45.1894 ns/op +WorkloadResult 8: 16777216 op, 756345300.00 ns, 45.0817 ns/op +WorkloadResult 9: 16777216 op, 756039000.00 ns, 45.0634 ns/op +WorkloadResult 10: 16777216 op, 761143900.00 ns, 45.3677 ns/op +WorkloadResult 11: 16777216 op, 757609400.00 ns, 45.1570 ns/op +WorkloadResult 12: 16777216 op, 756187100.00 ns, 45.0723 ns/op +// GC: 2802 11 0 17636332888 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 107848 has exited with code 0. + +Mean = 45.175 ns, StdErr = 0.030 ns (0.07%), N = 12, StdDev = 0.104 ns +Min = 45.063 ns, Q1 = 45.091 ns, Median = 45.150 ns, Q3 = 45.205 ns, Max = 45.368 ns +IQR = 0.114 ns, LowerFence = 44.921 ns, UpperFence = 45.375 ns +ConfidenceInterval = [45.042 ns; 45.309 ns] (CI 99.9%), Margin = 0.134 ns (0.30% of Mean) +Skewness = 0.75, Kurtosis = 2.14, MValue = 2 + +// ** Remained 12 (46.2%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 4m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.html + +// * Detailed results * +ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.667 ns, StdErr = 0.022 ns (0.06%), N = 14, StdDev = 0.082 ns +Min = 33.540 ns, Q1 = 33.611 ns, Median = 33.646 ns, Q3 = 33.717 ns, Max = 33.860 ns +IQR = 0.107 ns, LowerFence = 33.450 ns, UpperFence = 33.878 ns +ConfidenceInterval = [33.575 ns; 33.759 ns] (CI 99.9%), Margin = 0.092 ns (0.27% of Mean) +Skewness = 0.71, Kurtosis = 2.88, MValue = 2 +-------------------- Histogram -------------------- +[33.496 ns ; 33.904 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 34.568 ns, StdErr = 0.089 ns (0.26%), N = 14, StdDev = 0.335 ns +Min = 34.253 ns, Q1 = 34.328 ns, Median = 34.412 ns, Q3 = 34.681 ns, Max = 35.333 ns +IQR = 0.353 ns, LowerFence = 33.799 ns, UpperFence = 35.210 ns +ConfidenceInterval = [34.190 ns; 34.945 ns] (CI 99.9%), Margin = 0.378 ns (1.09% of Mean) +Skewness = 1.03, Kurtosis = 2.75, MValue = 2 +-------------------- Histogram -------------------- +[34.071 ns ; 34.767 ns) | @@@@@@@@@@@ +[34.767 ns ; 35.515 ns) | @@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 54.174 ns, StdErr = 0.318 ns (0.59%), N = 84, StdDev = 2.915 ns +Min = 51.172 ns, Q1 = 52.052 ns, Median = 53.024 ns, Q3 = 55.029 ns, Max = 61.979 ns +IQR = 2.978 ns, LowerFence = 47.585 ns, UpperFence = 59.496 ns +ConfidenceInterval = [53.088 ns; 55.259 ns] (CI 99.9%), Margin = 1.085 ns (2.00% of Mean) +Skewness = 1.2, Kurtosis = 3.48, MValue = 2.12 +-------------------- Histogram -------------------- +[51.171 ns ; 52.919 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[52.919 ns ; 54.982 ns) | @@@@@@@@@@@@@@@@@@@@@@ +[54.982 ns ; 56.751 ns) | @@@@@ +[56.751 ns ; 58.498 ns) | @@@@@@@@ +[58.498 ns ; 60.273 ns) | @ +[60.273 ns ; 62.020 ns) | @@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 43.810 ns, StdErr = 0.232 ns (0.53%), N = 42, StdDev = 1.507 ns +Min = 41.628 ns, Q1 = 42.536 ns, Median = 43.695 ns, Q3 = 44.672 ns, Max = 47.473 ns +IQR = 2.135 ns, LowerFence = 39.333 ns, UpperFence = 47.875 ns +ConfidenceInterval = [42.986 ns; 44.634 ns] (CI 99.9%), Margin = 0.824 ns (1.88% of Mean) +Skewness = 0.72, Kurtosis = 2.67, MValue = 2.4 +-------------------- Histogram -------------------- +[41.059 ns ; 41.952 ns) | @ +[41.952 ns ; 43.090 ns) | @@@@@@@@@@@@@@@ +[43.090 ns ; 44.330 ns) | @@@@@@@@@@@@@@ +[44.330 ns ; 45.504 ns) | @@@@@@@ +[45.504 ns ; 46.526 ns) | @ +[46.526 ns ; 47.663 ns) | @@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0(Runtime=.NET 10.0) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 52.187 ns, StdErr = 0.217 ns (0.42%), N = 14, StdDev = 0.811 ns +Min = 50.630 ns, Q1 = 51.883 ns, Median = 52.406 ns, Q3 = 52.694 ns, Max = 53.416 ns +IQR = 0.811 ns, LowerFence = 50.665 ns, UpperFence = 53.911 ns +ConfidenceInterval = [51.272 ns; 53.102 ns] (CI 99.9%), Margin = 0.915 ns (1.75% of Mean) +Skewness = -0.6, Kurtosis = 2.13, MValue = 2 +-------------------- Histogram -------------------- +[50.334 ns ; 52.015 ns) | @@@@ +[52.015 ns ; 53.858 ns) | @@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 19.857 ns, StdErr = 0.033 ns (0.16%), N = 13, StdDev = 0.118 ns +Min = 19.695 ns, Q1 = 19.761 ns, Median = 19.836 ns, Q3 = 19.937 ns, Max = 20.049 ns +IQR = 0.176 ns, LowerFence = 19.496 ns, UpperFence = 20.202 ns +ConfidenceInterval = [19.716 ns; 19.998 ns] (CI 99.9%), Margin = 0.141 ns (0.71% of Mean) +Skewness = 0.44, Kurtosis = 1.65, MValue = 2 +-------------------- Histogram -------------------- +[19.629 ns ; 20.114 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 23.577 ns, StdErr = 0.024 ns (0.10%), N = 14, StdDev = 0.090 ns +Min = 23.466 ns, Q1 = 23.514 ns, Median = 23.546 ns, Q3 = 23.632 ns, Max = 23.784 ns +IQR = 0.118 ns, LowerFence = 23.338 ns, UpperFence = 23.808 ns +ConfidenceInterval = [23.475 ns; 23.679 ns] (CI 99.9%), Margin = 0.102 ns (0.43% of Mean) +Skewness = 0.76, Kurtosis = 2.55, MValue = 2 +-------------------- Histogram -------------------- +[23.417 ns ; 23.833 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 46.471 ns, StdErr = 0.054 ns (0.12%), N = 14, StdDev = 0.203 ns +Min = 46.219 ns, Q1 = 46.345 ns, Median = 46.406 ns, Q3 = 46.589 ns, Max = 46.896 ns +IQR = 0.244 ns, LowerFence = 45.980 ns, UpperFence = 46.954 ns +ConfidenceInterval = [46.242 ns; 46.700 ns] (CI 99.9%), Margin = 0.229 ns (0.49% of Mean) +Skewness = 0.63, Kurtosis = 2.11, MValue = 2 +-------------------- Histogram -------------------- +[46.109 ns ; 47.006 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 32.950 ns, StdErr = 0.136 ns (0.41%), N = 13, StdDev = 0.490 ns +Min = 32.512 ns, Q1 = 32.583 ns, Median = 32.735 ns, Q3 = 33.068 ns, Max = 34.113 ns +IQR = 0.486 ns, LowerFence = 31.854 ns, UpperFence = 33.797 ns +ConfidenceInterval = [32.363 ns; 33.536 ns] (CI 99.9%), Margin = 0.586 ns (1.78% of Mean) +Skewness = 1.14, Kurtosis = 3.08, MValue = 2 +-------------------- Histogram -------------------- +[32.422 ns ; 34.255 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 45.175 ns, StdErr = 0.030 ns (0.07%), N = 12, StdDev = 0.104 ns +Min = 45.063 ns, Q1 = 45.091 ns, Median = 45.150 ns, Q3 = 45.205 ns, Max = 45.368 ns +IQR = 0.114 ns, LowerFence = 44.921 ns, UpperFence = 45.375 ns +ConfidenceInterval = [45.042 ns; 45.309 ns] (CI 99.9%), Margin = 0.134 ns (0.30% of Mean) +Skewness = 0.75, Kurtosis = 2.14, MValue = 2 +-------------------- Histogram -------------------- +[45.004 ns ; 45.428 ns) | @@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + + +| Method | Job | Runtime | Mean | +|--------------------- |--------------------- |--------------------- |---------:| +| CloneSmall16Bytes | .NET 10.0 | .NET 10.0 | 33.67 ns | +| CloneMedium128Bytes | .NET 10.0 | .NET 10.0 | 34.57 ns | +| CloneLarge1024Bytes | .NET 10.0 | .NET 10.0 | 54.17 ns | +| CloneInt128Elements | .NET 10.0 | .NET 10.0 | 43.81 ns | +| CloneLong128Elements | .NET 10.0 | .NET 10.0 | 52.19 ns | +| CloneSmall16Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 19.86 ns | +| CloneMedium128Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 23.58 ns | +| CloneLarge1024Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 46.47 ns | +| CloneInt128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 32.95 ns | +| CloneLong128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 45.18 ns | + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + ArraysCloneBenchmarks.CloneSmall16Bytes: .NET 10.0 -> 1 outlier was removed (36.33 ns) + ArraysCloneBenchmarks.CloneMedium128Bytes: .NET 10.0 -> 1 outlier was removed (40.93 ns) + ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET 10.0 -> 7 outliers were removed (65.08 ns..76.90 ns) + ArraysCloneBenchmarks.CloneInt128Elements: .NET 10.0 -> 2 outliers were removed (50.06 ns, 50.12 ns) + ArraysCloneBenchmarks.CloneLong128Elements: .NET 10.0 -> 1 outlier was removed, 2 outliers were detected (52.10 ns, 55.90 ns) + ArraysCloneBenchmarks.CloneSmall16Bytes: .NET Framework 4.8.1 -> 2 outliers were removed (21.95 ns, 22.16 ns) + ArraysCloneBenchmarks.CloneMedium128Bytes: .NET Framework 4.8.1 -> 1 outlier was removed (25.46 ns) + ArraysCloneBenchmarks.CloneLarge1024Bytes: .NET Framework 4.8.1 -> 1 outlier was removed (48.81 ns) + ArraysCloneBenchmarks.CloneInt128Elements: .NET Framework 4.8.1 -> 2 outliers were removed (37.00 ns, 45.00 ns) + ArraysCloneBenchmarks.CloneLong128Elements: .NET Framework 4.8.1 -> 3 outliers were removed (47.76 ns..52.91 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - CPUUsageDiagnoser * +Saving diagsession as a file. This may take a moment... +Exported diagsession file: D:\repos\bcgit\bc-csharp\BenchmarkDotNet.Artifacts\BenchmarkDotNet_ArraysCloneBenchmarks_20260223_195749.diagsession. + + +// ***** BenchmarkRunner: End ***** +Run time: 00:05:24 (324.15 sec), executed benchmarks: 10 + +// Found 12 benchmarks: +// CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +// CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +// CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +// CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +// CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +// CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +// CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +// CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +// CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] +// CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2864 2860 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.ArrayClone(ArraySize: 16)" --job ".NET 10.0" --benchmarkId 7 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 77800.00 ns, 77.8000 us/op +WorkloadJitting 1: 1 op, 141600.00 ns, 141.6000 us/op + +OverheadJitting 2: 16 op, 117000.00 ns, 7.3125 us/op +WorkloadJitting 2: 16 op, 118800.00 ns, 7.4250 us/op + +WorkloadPilot 1: 16 op, 6300.00 ns, 393.7500 ns/op +WorkloadPilot 2: 32 op, 3900.00 ns, 121.8750 ns/op +WorkloadPilot 3: 64 op, 7600.00 ns, 118.7500 ns/op +WorkloadPilot 4: 128 op, 9400.00 ns, 73.4375 ns/op +WorkloadPilot 5: 256 op, 17200.00 ns, 67.1875 ns/op +WorkloadPilot 6: 512 op, 25400.00 ns, 49.6094 ns/op +WorkloadPilot 7: 1024 op, 53500.00 ns, 52.2461 ns/op +WorkloadPilot 8: 2048 op, 103900.00 ns, 50.7324 ns/op +WorkloadPilot 9: 4096 op, 197700.00 ns, 48.2666 ns/op +WorkloadPilot 10: 8192 op, 356800.00 ns, 43.5547 ns/op +WorkloadPilot 11: 16384 op, 725400.00 ns, 44.2749 ns/op +WorkloadPilot 12: 32768 op, 1468100.00 ns, 44.8029 ns/op +WorkloadPilot 13: 65536 op, 2946200.00 ns, 44.9554 ns/op +WorkloadPilot 14: 131072 op, 6193700.00 ns, 47.2542 ns/op +WorkloadPilot 15: 262144 op, 11731200.00 ns, 44.7510 ns/op +WorkloadPilot 16: 524288 op, 21499800.00 ns, 41.0076 ns/op +WorkloadPilot 17: 1048576 op, 39910600.00 ns, 38.0617 ns/op +WorkloadPilot 18: 2097152 op, 75904800.00 ns, 36.1942 ns/op +WorkloadPilot 19: 4194304 op, 148267500.00 ns, 35.3497 ns/op +WorkloadPilot 20: 8388608 op, 289538800.00 ns, 34.5157 ns/op +WorkloadPilot 21: 16777216 op, 579624400.00 ns, 34.5483 ns/op + +OverheadWarmup 1: 16777216 op, 25625400.00 ns, 1.5274 ns/op +OverheadWarmup 2: 16777216 op, 25608800.00 ns, 1.5264 ns/op +OverheadWarmup 3: 16777216 op, 25601600.00 ns, 1.5260 ns/op +OverheadWarmup 4: 16777216 op, 25568200.00 ns, 1.5240 ns/op +OverheadWarmup 5: 16777216 op, 25547500.00 ns, 1.5227 ns/op +OverheadWarmup 6: 16777216 op, 25784300.00 ns, 1.5369 ns/op +OverheadWarmup 7: 16777216 op, 25547400.00 ns, 1.5227 ns/op +OverheadWarmup 8: 16777216 op, 25610900.00 ns, 1.5265 ns/op +OverheadWarmup 9: 16777216 op, 21278000.00 ns, 1.2683 ns/op + +OverheadActual 1: 16777216 op, 17658500.00 ns, 1.0525 ns/op +OverheadActual 2: 16777216 op, 17665500.00 ns, 1.0529 ns/op +OverheadActual 3: 16777216 op, 17703200.00 ns, 1.0552 ns/op +OverheadActual 4: 16777216 op, 17668300.00 ns, 1.0531 ns/op +OverheadActual 5: 16777216 op, 17657600.00 ns, 1.0525 ns/op +OverheadActual 6: 16777216 op, 17660000.00 ns, 1.0526 ns/op +OverheadActual 7: 16777216 op, 17684800.00 ns, 1.0541 ns/op +OverheadActual 8: 16777216 op, 17719300.00 ns, 1.0562 ns/op +OverheadActual 9: 16777216 op, 17667400.00 ns, 1.0531 ns/op +OverheadActual 10: 16777216 op, 17918300.00 ns, 1.0680 ns/op +OverheadActual 11: 16777216 op, 17667400.00 ns, 1.0531 ns/op +OverheadActual 12: 16777216 op, 17670700.00 ns, 1.0533 ns/op +OverheadActual 13: 16777216 op, 17829100.00 ns, 1.0627 ns/op +OverheadActual 14: 16777216 op, 17631400.00 ns, 1.0509 ns/op +OverheadActual 15: 16777216 op, 17664000.00 ns, 1.0529 ns/op + +WorkloadWarmup 1: 16777216 op, 581854700.00 ns, 34.6812 ns/op +WorkloadWarmup 2: 16777216 op, 580779500.00 ns, 34.6172 ns/op +WorkloadWarmup 3: 16777216 op, 575517500.00 ns, 34.3035 ns/op +WorkloadWarmup 4: 16777216 op, 576204400.00 ns, 34.3445 ns/op +WorkloadWarmup 5: 16777216 op, 575599900.00 ns, 34.3084 ns/op +WorkloadWarmup 6: 16777216 op, 576052800.00 ns, 34.3354 ns/op +WorkloadWarmup 7: 16777216 op, 579110400.00 ns, 34.5177 ns/op +WorkloadWarmup 8: 16777216 op, 576163000.00 ns, 34.3420 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 576356500.00 ns, 34.3535 ns/op +WorkloadActual 2: 16777216 op, 577039900.00 ns, 34.3943 ns/op +WorkloadActual 3: 16777216 op, 576045200.00 ns, 34.3350 ns/op +WorkloadActual 4: 16777216 op, 576085400.00 ns, 34.3374 ns/op +WorkloadActual 5: 16777216 op, 578414600.00 ns, 34.4762 ns/op +WorkloadActual 6: 16777216 op, 575783100.00 ns, 34.3193 ns/op +WorkloadActual 7: 16777216 op, 575267500.00 ns, 34.2886 ns/op +WorkloadActual 8: 16777216 op, 575654400.00 ns, 34.3117 ns/op +WorkloadActual 9: 16777216 op, 575171100.00 ns, 34.2829 ns/op +WorkloadActual 10: 16777216 op, 575382900.00 ns, 34.2955 ns/op +WorkloadActual 11: 16777216 op, 578002900.00 ns, 34.4517 ns/op +WorkloadActual 12: 16777216 op, 575202600.00 ns, 34.2847 ns/op +WorkloadActual 13: 16777216 op, 575423000.00 ns, 34.2979 ns/op +WorkloadActual 14: 16777216 op, 575869200.00 ns, 34.3245 ns/op +WorkloadActual 15: 16777216 op, 590308200.00 ns, 35.1851 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 558689100.00 ns, 33.3005 ns/op +WorkloadResult 2: 16777216 op, 559372500.00 ns, 33.3412 ns/op +WorkloadResult 3: 16777216 op, 558377800.00 ns, 33.2819 ns/op +WorkloadResult 4: 16777216 op, 558418000.00 ns, 33.2843 ns/op +WorkloadResult 5: 16777216 op, 560747200.00 ns, 33.4231 ns/op +WorkloadResult 6: 16777216 op, 558115700.00 ns, 33.2663 ns/op +WorkloadResult 7: 16777216 op, 557600100.00 ns, 33.2356 ns/op +WorkloadResult 8: 16777216 op, 557987000.00 ns, 33.2586 ns/op +WorkloadResult 9: 16777216 op, 557503700.00 ns, 33.2298 ns/op +WorkloadResult 10: 16777216 op, 557715500.00 ns, 33.2424 ns/op +WorkloadResult 11: 16777216 op, 560335500.00 ns, 33.3986 ns/op +WorkloadResult 12: 16777216 op, 557535200.00 ns, 33.2317 ns/op +WorkloadResult 13: 16777216 op, 557755600.00 ns, 33.2448 ns/op +WorkloadResult 14: 16777216 op, 558201800.00 ns, 33.2714 ns/op +// GC: 35 0 0 671088640 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 120724 has exited with code 0. + +Mean = 33.286 ns, StdErr = 0.016 ns (0.05%), N = 14, StdDev = 0.061 ns +Min = 33.230 ns, Q1 = 33.243 ns, Median = 33.269 ns, Q3 = 33.296 ns, Max = 33.423 ns +IQR = 0.053 ns, LowerFence = 33.163 ns, UpperFence = 33.377 ns +ConfidenceInterval = [33.218 ns; 33.355 ns] (CI 99.9%), Margin = 0.069 ns (0.21% of Mean) +Skewness = 1.09, Kurtosis = 2.84, MValue = 2 + +// ** Remained 11 (42.3%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2980 2976 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.NewArrayBlockCopy(ArraySize: 16)" --job ".NET 10.0" --benchmarkId 8 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 81800.00 ns, 81.8000 us/op +WorkloadJitting 1: 1 op, 130500.00 ns, 130.5000 us/op + +OverheadJitting 2: 16 op, 115700.00 ns, 7.2313 us/op +WorkloadJitting 2: 16 op, 113600.00 ns, 7.1000 us/op + +WorkloadPilot 1: 16 op, 3600.00 ns, 225.0000 ns/op +WorkloadPilot 2: 32 op, 3400.00 ns, 106.2500 ns/op +WorkloadPilot 3: 64 op, 1500.00 ns, 23.4375 ns/op +WorkloadPilot 4: 128 op, 11200.00 ns, 87.5000 ns/op +WorkloadPilot 5: 256 op, 6400.00 ns, 25.0000 ns/op +WorkloadPilot 6: 512 op, 9000.00 ns, 17.5781 ns/op +WorkloadPilot 7: 1024 op, 28800.00 ns, 28.1250 ns/op +WorkloadPilot 8: 2048 op, 45000.00 ns, 21.9727 ns/op +WorkloadPilot 9: 4096 op, 80600.00 ns, 19.6777 ns/op +WorkloadPilot 10: 8192 op, 156900.00 ns, 19.1528 ns/op +WorkloadPilot 11: 16384 op, 247100.00 ns, 15.0818 ns/op +WorkloadPilot 12: 32768 op, 522000.00 ns, 15.9302 ns/op +WorkloadPilot 13: 65536 op, 1032000.00 ns, 15.7471 ns/op +WorkloadPilot 14: 131072 op, 2057100.00 ns, 15.6944 ns/op +WorkloadPilot 15: 262144 op, 4218900.00 ns, 16.0938 ns/op +WorkloadPilot 16: 524288 op, 7673100.00 ns, 14.6353 ns/op +WorkloadPilot 17: 1048576 op, 10342800.00 ns, 9.8637 ns/op +WorkloadPilot 18: 2097152 op, 20480200.00 ns, 9.7657 ns/op +WorkloadPilot 19: 4194304 op, 39383900.00 ns, 9.3899 ns/op +WorkloadPilot 20: 8388608 op, 71214500.00 ns, 8.4894 ns/op +WorkloadPilot 21: 16777216 op, 103891600.00 ns, 6.1924 ns/op +WorkloadPilot 22: 33554432 op, 191381600.00 ns, 5.7036 ns/op +WorkloadPilot 23: 67108864 op, 404101200.00 ns, 6.0216 ns/op +WorkloadPilot 24: 134217728 op, 783379100.00 ns, 5.8366 ns/op + +OverheadWarmup 1: 134217728 op, 202327700.00 ns, 1.5075 ns/op +OverheadWarmup 2: 134217728 op, 146279600.00 ns, 1.0899 ns/op +OverheadWarmup 3: 134217728 op, 140850000.00 ns, 1.0494 ns/op +OverheadWarmup 4: 134217728 op, 141197900.00 ns, 1.0520 ns/op +OverheadWarmup 5: 134217728 op, 141143400.00 ns, 1.0516 ns/op +OverheadWarmup 6: 134217728 op, 140976300.00 ns, 1.0504 ns/op +OverheadWarmup 7: 134217728 op, 141185700.00 ns, 1.0519 ns/op +OverheadWarmup 8: 134217728 op, 140989600.00 ns, 1.0505 ns/op + +OverheadActual 1: 134217728 op, 141143300.00 ns, 1.0516 ns/op +OverheadActual 2: 134217728 op, 141007100.00 ns, 1.0506 ns/op +OverheadActual 3: 134217728 op, 143752500.00 ns, 1.0710 ns/op +OverheadActual 4: 134217728 op, 141321100.00 ns, 1.0529 ns/op +OverheadActual 5: 134217728 op, 140970300.00 ns, 1.0503 ns/op +OverheadActual 6: 134217728 op, 141425600.00 ns, 1.0537 ns/op +OverheadActual 7: 134217728 op, 141056800.00 ns, 1.0510 ns/op +OverheadActual 8: 134217728 op, 141265700.00 ns, 1.0525 ns/op +OverheadActual 9: 134217728 op, 141305200.00 ns, 1.0528 ns/op +OverheadActual 10: 134217728 op, 141338100.00 ns, 1.0531 ns/op +OverheadActual 11: 134217728 op, 140924300.00 ns, 1.0500 ns/op +OverheadActual 12: 134217728 op, 140877500.00 ns, 1.0496 ns/op +OverheadActual 13: 134217728 op, 140936600.00 ns, 1.0501 ns/op +OverheadActual 14: 134217728 op, 140944400.00 ns, 1.0501 ns/op +OverheadActual 15: 134217728 op, 140995700.00 ns, 1.0505 ns/op + +WorkloadWarmup 1: 134217728 op, 807440600.00 ns, 6.0159 ns/op +WorkloadWarmup 2: 134217728 op, 787873700.00 ns, 5.8701 ns/op +WorkloadWarmup 3: 134217728 op, 774341700.00 ns, 5.7693 ns/op +WorkloadWarmup 4: 134217728 op, 763123500.00 ns, 5.6857 ns/op +WorkloadWarmup 5: 134217728 op, 773865900.00 ns, 5.7658 ns/op +WorkloadWarmup 6: 134217728 op, 768661700.00 ns, 5.7270 ns/op +WorkloadWarmup 7: 134217728 op, 847782300.00 ns, 6.3165 ns/op +WorkloadWarmup 8: 134217728 op, 784485600.00 ns, 5.8449 ns/op + +// BeforeActualRun +WorkloadActual 1: 134217728 op, 787421000.00 ns, 5.8667 ns/op +WorkloadActual 2: 134217728 op, 786680600.00 ns, 5.8612 ns/op +WorkloadActual 3: 134217728 op, 785283100.00 ns, 5.8508 ns/op +WorkloadActual 4: 134217728 op, 829682400.00 ns, 6.1816 ns/op +WorkloadActual 5: 134217728 op, 787400000.00 ns, 5.8666 ns/op +WorkloadActual 6: 134217728 op, 777458500.00 ns, 5.7925 ns/op +WorkloadActual 7: 134217728 op, 771502700.00 ns, 5.7481 ns/op +WorkloadActual 8: 134217728 op, 796611500.00 ns, 5.9352 ns/op +WorkloadActual 9: 134217728 op, 772080400.00 ns, 5.7524 ns/op +WorkloadActual 10: 134217728 op, 767849500.00 ns, 5.7209 ns/op +WorkloadActual 11: 134217728 op, 785304900.00 ns, 5.8510 ns/op +WorkloadActual 12: 134217728 op, 796382100.00 ns, 5.9335 ns/op +WorkloadActual 13: 134217728 op, 825093200.00 ns, 6.1474 ns/op +WorkloadActual 14: 134217728 op, 772283300.00 ns, 5.7540 ns/op +WorkloadActual 15: 134217728 op, 793915200.00 ns, 5.9151 ns/op +WorkloadActual 16: 134217728 op, 789181500.00 ns, 5.8799 ns/op + +// AfterActualRun +WorkloadResult 1: 134217728 op, 646364200.00 ns, 4.8158 ns/op +WorkloadResult 2: 134217728 op, 645623800.00 ns, 4.8103 ns/op +WorkloadResult 3: 134217728 op, 644226300.00 ns, 4.7999 ns/op +WorkloadResult 4: 134217728 op, 646343200.00 ns, 4.8156 ns/op +WorkloadResult 5: 134217728 op, 636401700.00 ns, 4.7416 ns/op +WorkloadResult 6: 134217728 op, 630445900.00 ns, 4.6972 ns/op +WorkloadResult 7: 134217728 op, 655554700.00 ns, 4.8843 ns/op +WorkloadResult 8: 134217728 op, 631023600.00 ns, 4.7015 ns/op +WorkloadResult 9: 134217728 op, 626792700.00 ns, 4.6700 ns/op +WorkloadResult 10: 134217728 op, 644248100.00 ns, 4.8000 ns/op +WorkloadResult 11: 134217728 op, 655325300.00 ns, 4.8826 ns/op +WorkloadResult 12: 134217728 op, 631226500.00 ns, 4.7030 ns/op +WorkloadResult 13: 134217728 op, 652858400.00 ns, 4.8642 ns/op +WorkloadResult 14: 134217728 op, 648124700.00 ns, 4.8289 ns/op +// GC: 285 0 0 5368709120 134217728 +// Threading: 0 0 134217728 + +// AfterAll +// Benchmark Process 124900 has exited with code 0. + +Mean = 4.787 ns, StdErr = 0.019 ns (0.40%), N = 14, StdDev = 0.072 ns +Min = 4.670 ns, Q1 = 4.713 ns, Median = 4.805 ns, Q3 = 4.826 ns, Max = 4.884 ns +IQR = 0.113 ns, LowerFence = 4.543 ns, UpperFence = 4.995 ns +ConfidenceInterval = [4.706 ns; 4.868 ns] (CI 99.9%), Margin = 0.081 ns (1.69% of Mean) +Skewness = -0.23, Kurtosis = 1.54, MValue = 2 + +// ** Remained 10 (38.5%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 4m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 3024 3008 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.ArrayClone(ArraySize: 16)" --job ".NET Framework 4.8.1" --benchmarkId 7 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 122500.00 ns, 122.5000 us/op +WorkloadJitting 1: 1 op, 125100.00 ns, 125.1000 us/op + +OverheadJitting 2: 16 op, 118200.00 ns, 7.3875 us/op +WorkloadJitting 2: 16 op, 132200.00 ns, 8.2625 us/op + +WorkloadPilot 1: 16 op, 2700.00 ns, 168.7500 ns/op +WorkloadPilot 2: 32 op, 1600.00 ns, 50.0000 ns/op +WorkloadPilot 3: 64 op, 1800.00 ns, 28.1250 ns/op +WorkloadPilot 4: 128 op, 3100.00 ns, 24.2188 ns/op +WorkloadPilot 5: 256 op, 5900.00 ns, 23.0469 ns/op +WorkloadPilot 6: 512 op, 11500.00 ns, 22.4609 ns/op +WorkloadPilot 7: 1024 op, 22900.00 ns, 22.3633 ns/op +WorkloadPilot 8: 2048 op, 44300.00 ns, 21.6309 ns/op +WorkloadPilot 9: 4096 op, 120500.00 ns, 29.4189 ns/op +WorkloadPilot 10: 8192 op, 180500.00 ns, 22.0337 ns/op +WorkloadPilot 11: 16384 op, 395700.00 ns, 24.1516 ns/op +WorkloadPilot 12: 32768 op, 794400.00 ns, 24.2432 ns/op +WorkloadPilot 13: 65536 op, 1595900.00 ns, 24.3515 ns/op +WorkloadPilot 14: 131072 op, 3188500.00 ns, 24.3263 ns/op +WorkloadPilot 15: 262144 op, 5654600.00 ns, 21.5706 ns/op +WorkloadPilot 16: 524288 op, 10645200.00 ns, 20.3041 ns/op +WorkloadPilot 17: 1048576 op, 21315000.00 ns, 20.3276 ns/op +WorkloadPilot 18: 2097152 op, 41701800.00 ns, 19.8850 ns/op +WorkloadPilot 19: 4194304 op, 82950800.00 ns, 19.7770 ns/op +WorkloadPilot 20: 8388608 op, 165127300.00 ns, 19.6847 ns/op +WorkloadPilot 21: 16777216 op, 328952900.00 ns, 19.6071 ns/op +WorkloadPilot 22: 33554432 op, 660707400.00 ns, 19.6906 ns/op + +OverheadWarmup 1: 33554432 op, 33348900.00 ns, 0.9939 ns/op +OverheadWarmup 2: 33554432 op, 33339900.00 ns, 0.9936 ns/op +OverheadWarmup 3: 33554432 op, 33203000.00 ns, 0.9895 ns/op +OverheadWarmup 4: 33554432 op, 34023400.00 ns, 1.0140 ns/op +OverheadWarmup 5: 33554432 op, 33737600.00 ns, 1.0055 ns/op +OverheadWarmup 6: 33554432 op, 33333600.00 ns, 0.9934 ns/op +OverheadWarmup 7: 33554432 op, 33136900.00 ns, 0.9876 ns/op +OverheadWarmup 8: 33554432 op, 32972400.00 ns, 0.9827 ns/op +OverheadWarmup 9: 33554432 op, 33174100.00 ns, 0.9887 ns/op +OverheadWarmup 10: 33554432 op, 33627300.00 ns, 1.0022 ns/op + +OverheadActual 1: 33554432 op, 33548600.00 ns, 0.9998 ns/op +OverheadActual 2: 33554432 op, 33211300.00 ns, 0.9898 ns/op +OverheadActual 3: 33554432 op, 33896700.00 ns, 1.0102 ns/op +OverheadActual 4: 33554432 op, 34230700.00 ns, 1.0202 ns/op +OverheadActual 5: 33554432 op, 33319600.00 ns, 0.9930 ns/op +OverheadActual 6: 33554432 op, 33844300.00 ns, 1.0086 ns/op +OverheadActual 7: 33554432 op, 33743300.00 ns, 1.0056 ns/op +OverheadActual 8: 33554432 op, 34464300.00 ns, 1.0271 ns/op +OverheadActual 9: 33554432 op, 33258000.00 ns, 0.9912 ns/op +OverheadActual 10: 33554432 op, 33396000.00 ns, 0.9953 ns/op +OverheadActual 11: 33554432 op, 34083500.00 ns, 1.0158 ns/op +OverheadActual 12: 33554432 op, 33052900.00 ns, 0.9851 ns/op +OverheadActual 13: 33554432 op, 33089600.00 ns, 0.9861 ns/op +OverheadActual 14: 33554432 op, 33555400.00 ns, 1.0000 ns/op +OverheadActual 15: 33554432 op, 32939300.00 ns, 0.9817 ns/op + +WorkloadWarmup 1: 33554432 op, 657231400.00 ns, 19.5870 ns/op +WorkloadWarmup 2: 33554432 op, 659937200.00 ns, 19.6677 ns/op +WorkloadWarmup 3: 33554432 op, 657442900.00 ns, 19.5933 ns/op +WorkloadWarmup 4: 33554432 op, 657932500.00 ns, 19.6079 ns/op +WorkloadWarmup 5: 33554432 op, 658210800.00 ns, 19.6162 ns/op +WorkloadWarmup 6: 33554432 op, 662926200.00 ns, 19.7567 ns/op +WorkloadWarmup 7: 33554432 op, 665096300.00 ns, 19.8214 ns/op +WorkloadWarmup 8: 33554432 op, 662597400.00 ns, 19.7469 ns/op + +// BeforeActualRun +WorkloadActual 1: 33554432 op, 660568100.00 ns, 19.6865 ns/op +WorkloadActual 2: 33554432 op, 659163200.00 ns, 19.6446 ns/op +WorkloadActual 3: 33554432 op, 659518700.00 ns, 19.6552 ns/op +WorkloadActual 4: 33554432 op, 659905400.00 ns, 19.6667 ns/op +WorkloadActual 5: 33554432 op, 665343400.00 ns, 19.8288 ns/op +WorkloadActual 6: 33554432 op, 659194800.00 ns, 19.6455 ns/op +WorkloadActual 7: 33554432 op, 660398000.00 ns, 19.6814 ns/op +WorkloadActual 8: 33554432 op, 666935800.00 ns, 19.8762 ns/op +WorkloadActual 9: 33554432 op, 659025200.00 ns, 19.6405 ns/op +WorkloadActual 10: 33554432 op, 659587000.00 ns, 19.6572 ns/op +WorkloadActual 11: 33554432 op, 660135300.00 ns, 19.6736 ns/op +WorkloadActual 12: 33554432 op, 657859800.00 ns, 19.6057 ns/op +WorkloadActual 13: 33554432 op, 658521500.00 ns, 19.6255 ns/op +WorkloadActual 14: 33554432 op, 658017800.00 ns, 19.6105 ns/op +WorkloadActual 15: 33554432 op, 661751800.00 ns, 19.7217 ns/op + +// AfterActualRun +WorkloadResult 1: 33554432 op, 627019500.00 ns, 18.6866 ns/op +WorkloadResult 2: 33554432 op, 625614600.00 ns, 18.6448 ns/op +WorkloadResult 3: 33554432 op, 625970100.00 ns, 18.6554 ns/op +WorkloadResult 4: 33554432 op, 626356800.00 ns, 18.6669 ns/op +WorkloadResult 5: 33554432 op, 625646200.00 ns, 18.6457 ns/op +WorkloadResult 6: 33554432 op, 626849400.00 ns, 18.6816 ns/op +WorkloadResult 7: 33554432 op, 625476600.00 ns, 18.6407 ns/op +WorkloadResult 8: 33554432 op, 626038400.00 ns, 18.6574 ns/op +WorkloadResult 9: 33554432 op, 626586700.00 ns, 18.6737 ns/op +WorkloadResult 10: 33554432 op, 624311200.00 ns, 18.6059 ns/op +WorkloadResult 11: 33554432 op, 624972900.00 ns, 18.6256 ns/op +WorkloadResult 12: 33554432 op, 624469200.00 ns, 18.6106 ns/op +WorkloadResult 13: 33554432 op, 628203200.00 ns, 18.7219 ns/op +// GC: 213 0 0 1346131264 33554432 +// Threading: 0 0 33554432 + +// AfterAll +// Benchmark Process 123368 has exited with code 0. + +Mean = 18.655 ns, StdErr = 0.009 ns (0.05%), N = 13, StdDev = 0.032 ns +Min = 18.606 ns, Q1 = 18.641 ns, Median = 18.655 ns, Q3 = 18.674 ns, Max = 18.722 ns +IQR = 0.033 ns, LowerFence = 18.591 ns, UpperFence = 18.723 ns +ConfidenceInterval = [18.617 ns; 18.694 ns] (CI 99.9%), Margin = 0.038 ns (0.21% of Mean) +Skewness = 0.27, Kurtosis = 2.34, MValue = 2 + +// ** Remained 9 (34.6%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 3m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 3040 2668 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.NewArrayBlockCopy(ArraySize: 16)" --job ".NET Framework 4.8.1" --benchmarkId 8 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 126000.00 ns, 126.0000 us/op +WorkloadJitting 1: 1 op, 131000.00 ns, 131.0000 us/op + +OverheadJitting 2: 16 op, 133100.00 ns, 8.3188 us/op +WorkloadJitting 2: 16 op, 141000.00 ns, 8.8125 us/op + +WorkloadPilot 1: 16 op, 2400.00 ns, 150.0000 ns/op +WorkloadPilot 2: 32 op, 1600.00 ns, 50.0000 ns/op +WorkloadPilot 3: 64 op, 1500.00 ns, 23.4375 ns/op +WorkloadPilot 4: 128 op, 2100.00 ns, 16.4063 ns/op +WorkloadPilot 5: 256 op, 2800.00 ns, 10.9375 ns/op +WorkloadPilot 6: 512 op, 5200.00 ns, 10.1563 ns/op +WorkloadPilot 7: 1024 op, 10300.00 ns, 10.0586 ns/op +WorkloadPilot 8: 2048 op, 19800.00 ns, 9.6680 ns/op +WorkloadPilot 9: 4096 op, 67700.00 ns, 16.5283 ns/op +WorkloadPilot 10: 8192 op, 92000.00 ns, 11.2305 ns/op +WorkloadPilot 11: 16384 op, 199900.00 ns, 12.2009 ns/op +WorkloadPilot 12: 32768 op, 420200.00 ns, 12.8235 ns/op +WorkloadPilot 13: 65536 op, 798800.00 ns, 12.1887 ns/op +WorkloadPilot 14: 131072 op, 1662400.00 ns, 12.6831 ns/op +WorkloadPilot 15: 262144 op, 2465900.00 ns, 9.4067 ns/op +WorkloadPilot 16: 524288 op, 4556500.00 ns, 8.6908 ns/op +WorkloadPilot 17: 1048576 op, 8726100.00 ns, 8.3219 ns/op +WorkloadPilot 18: 2097152 op, 17069400.00 ns, 8.1393 ns/op +WorkloadPilot 19: 4194304 op, 34331300.00 ns, 8.1852 ns/op +WorkloadPilot 20: 8388608 op, 68801100.00 ns, 8.2017 ns/op +WorkloadPilot 21: 16777216 op, 137355800.00 ns, 8.1870 ns/op +WorkloadPilot 22: 33554432 op, 273661500.00 ns, 8.1557 ns/op +WorkloadPilot 23: 67108864 op, 547768300.00 ns, 8.1624 ns/op + +OverheadWarmup 1: 67108864 op, 64137800.00 ns, 0.9557 ns/op +OverheadWarmup 2: 67108864 op, 64383800.00 ns, 0.9594 ns/op +OverheadWarmup 3: 67108864 op, 63948400.00 ns, 0.9529 ns/op +OverheadWarmup 4: 67108864 op, 66370400.00 ns, 0.9890 ns/op +OverheadWarmup 5: 67108864 op, 63727300.00 ns, 0.9496 ns/op + +OverheadActual 1: 67108864 op, 65839800.00 ns, 0.9811 ns/op +OverheadActual 2: 67108864 op, 65254900.00 ns, 0.9724 ns/op +OverheadActual 3: 67108864 op, 64359300.00 ns, 0.9590 ns/op +OverheadActual 4: 67108864 op, 64701900.00 ns, 0.9641 ns/op +OverheadActual 5: 67108864 op, 65898500.00 ns, 0.9820 ns/op +OverheadActual 6: 67108864 op, 66936100.00 ns, 0.9974 ns/op +OverheadActual 7: 67108864 op, 64964900.00 ns, 0.9681 ns/op +OverheadActual 8: 67108864 op, 65552700.00 ns, 0.9768 ns/op +OverheadActual 9: 67108864 op, 63804700.00 ns, 0.9508 ns/op +OverheadActual 10: 67108864 op, 64893100.00 ns, 0.9670 ns/op +OverheadActual 11: 67108864 op, 64781600.00 ns, 0.9653 ns/op +OverheadActual 12: 67108864 op, 64379600.00 ns, 0.9593 ns/op +OverheadActual 13: 67108864 op, 67374200.00 ns, 1.0040 ns/op +OverheadActual 14: 67108864 op, 66196100.00 ns, 0.9864 ns/op +OverheadActual 15: 67108864 op, 65867200.00 ns, 0.9815 ns/op + +WorkloadWarmup 1: 67108864 op, 549150000.00 ns, 8.1830 ns/op +WorkloadWarmup 2: 67108864 op, 548450200.00 ns, 8.1725 ns/op +WorkloadWarmup 3: 67108864 op, 547487300.00 ns, 8.1582 ns/op +WorkloadWarmup 4: 67108864 op, 546546800.00 ns, 8.1442 ns/op +WorkloadWarmup 5: 67108864 op, 545779700.00 ns, 8.1328 ns/op +WorkloadWarmup 6: 67108864 op, 546473200.00 ns, 8.1431 ns/op +WorkloadWarmup 7: 67108864 op, 549400300.00 ns, 8.1867 ns/op +WorkloadWarmup 8: 67108864 op, 545346800.00 ns, 8.1263 ns/op +WorkloadWarmup 9: 67108864 op, 545329100.00 ns, 8.1260 ns/op +WorkloadWarmup 10: 67108864 op, 544718300.00 ns, 8.1169 ns/op +WorkloadWarmup 11: 67108864 op, 547689300.00 ns, 8.1612 ns/op +WorkloadWarmup 12: 67108864 op, 546411400.00 ns, 8.1422 ns/op + +// BeforeActualRun +WorkloadActual 1: 67108864 op, 548441700.00 ns, 8.1724 ns/op +WorkloadActual 2: 67108864 op, 549962900.00 ns, 8.1951 ns/op +WorkloadActual 3: 67108864 op, 551113200.00 ns, 8.2122 ns/op +WorkloadActual 4: 67108864 op, 551489500.00 ns, 8.2178 ns/op +WorkloadActual 5: 67108864 op, 549689500.00 ns, 8.1910 ns/op +WorkloadActual 6: 67108864 op, 548474500.00 ns, 8.1729 ns/op +WorkloadActual 7: 67108864 op, 546631700.00 ns, 8.1454 ns/op +WorkloadActual 8: 67108864 op, 552941800.00 ns, 8.2395 ns/op +WorkloadActual 9: 67108864 op, 551539100.00 ns, 8.2186 ns/op +WorkloadActual 10: 67108864 op, 549930400.00 ns, 8.1946 ns/op +WorkloadActual 11: 67108864 op, 547717900.00 ns, 8.1616 ns/op +WorkloadActual 12: 67108864 op, 549504600.00 ns, 8.1883 ns/op +WorkloadActual 13: 67108864 op, 549317500.00 ns, 8.1855 ns/op +WorkloadActual 14: 67108864 op, 548191700.00 ns, 8.1687 ns/op +WorkloadActual 15: 67108864 op, 548592700.00 ns, 8.1747 ns/op + +// AfterActualRun +WorkloadResult 1: 67108864 op, 483186800.00 ns, 7.2000 ns/op +WorkloadResult 2: 67108864 op, 484708000.00 ns, 7.2227 ns/op +WorkloadResult 3: 67108864 op, 485858300.00 ns, 7.2399 ns/op +WorkloadResult 4: 67108864 op, 486234600.00 ns, 7.2455 ns/op +WorkloadResult 5: 67108864 op, 484434600.00 ns, 7.2186 ns/op +WorkloadResult 6: 67108864 op, 483219600.00 ns, 7.2005 ns/op +WorkloadResult 7: 67108864 op, 481376800.00 ns, 7.1731 ns/op +WorkloadResult 8: 67108864 op, 487686900.00 ns, 7.2671 ns/op +WorkloadResult 9: 67108864 op, 486284200.00 ns, 7.2462 ns/op +WorkloadResult 10: 67108864 op, 484675500.00 ns, 7.2222 ns/op +WorkloadResult 11: 67108864 op, 482463000.00 ns, 7.1893 ns/op +WorkloadResult 12: 67108864 op, 484249700.00 ns, 7.2159 ns/op +WorkloadResult 13: 67108864 op, 484062600.00 ns, 7.2131 ns/op +WorkloadResult 14: 67108864 op, 482936800.00 ns, 7.1963 ns/op +WorkloadResult 15: 67108864 op, 483337800.00 ns, 7.2023 ns/op +// GC: 427 0 0 2692262592 67108864 +// Threading: 0 0 67108864 + +// AfterAll +// Benchmark Process 106340 has exited with code 0. + +Mean = 7.217 ns, StdErr = 0.006 ns (0.09%), N = 15, StdDev = 0.025 ns +Min = 7.173 ns, Q1 = 7.200 ns, Median = 7.216 ns, Q3 = 7.231 ns, Max = 7.267 ns +IQR = 0.031 ns, LowerFence = 7.154 ns, UpperFence = 7.278 ns +ConfidenceInterval = [7.190 ns; 7.243 ns] (CI 99.9%), Margin = 0.027 ns (0.37% of Mean) +Skewness = 0.27, Kurtosis = 2.2, MValue = 2 + +// ** Remained 8 (30.8%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 3m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 3020 3012 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.ArrayClone(ArraySize: 128)" --job ".NET 10.0" --benchmarkId 9 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 77700.00 ns, 77.7000 us/op +WorkloadJitting 1: 1 op, 143500.00 ns, 143.5000 us/op + +OverheadJitting 2: 16 op, 107200.00 ns, 6.7000 us/op +WorkloadJitting 2: 16 op, 113000.00 ns, 7.0625 us/op + +WorkloadPilot 1: 16 op, 10100.00 ns, 631.2500 ns/op +WorkloadPilot 2: 32 op, 6100.00 ns, 190.6250 ns/op +WorkloadPilot 3: 64 op, 13400.00 ns, 209.3750 ns/op +WorkloadPilot 4: 128 op, 23100.00 ns, 180.4688 ns/op +WorkloadPilot 5: 256 op, 28600.00 ns, 111.7188 ns/op +WorkloadPilot 6: 512 op, 40600.00 ns, 79.2969 ns/op +WorkloadPilot 7: 1024 op, 83500.00 ns, 81.5430 ns/op +WorkloadPilot 8: 2048 op, 155800.00 ns, 76.0742 ns/op +WorkloadPilot 9: 4096 op, 272500.00 ns, 66.5283 ns/op +WorkloadPilot 10: 8192 op, 558500.00 ns, 68.1763 ns/op +WorkloadPilot 11: 16384 op, 1009500.00 ns, 61.6150 ns/op +WorkloadPilot 12: 32768 op, 1957500.00 ns, 59.7382 ns/op +WorkloadPilot 13: 65536 op, 4238100.00 ns, 64.6683 ns/op +WorkloadPilot 14: 131072 op, 7319300.00 ns, 55.8418 ns/op +WorkloadPilot 15: 262144 op, 10086400.00 ns, 38.4766 ns/op +WorkloadPilot 16: 524288 op, 19664800.00 ns, 37.5076 ns/op +WorkloadPilot 17: 1048576 op, 39370600.00 ns, 37.5467 ns/op +WorkloadPilot 18: 2097152 op, 78357900.00 ns, 37.3640 ns/op +WorkloadPilot 19: 4194304 op, 149051900.00 ns, 35.5367 ns/op +WorkloadPilot 20: 8388608 op, 295884100.00 ns, 35.2721 ns/op +WorkloadPilot 21: 16777216 op, 588469300.00 ns, 35.0755 ns/op + +OverheadWarmup 1: 16777216 op, 25526400.00 ns, 1.5215 ns/op +OverheadWarmup 2: 16777216 op, 25600300.00 ns, 1.5259 ns/op +OverheadWarmup 3: 16777216 op, 25671000.00 ns, 1.5301 ns/op +OverheadWarmup 4: 16777216 op, 25482500.00 ns, 1.5189 ns/op +OverheadWarmup 5: 16777216 op, 25650200.00 ns, 1.5289 ns/op +OverheadWarmup 6: 16777216 op, 25570500.00 ns, 1.5241 ns/op + +OverheadActual 1: 16777216 op, 25643200.00 ns, 1.5285 ns/op +OverheadActual 2: 16777216 op, 25497200.00 ns, 1.5198 ns/op +OverheadActual 3: 16777216 op, 25491600.00 ns, 1.5194 ns/op +OverheadActual 4: 16777216 op, 25491100.00 ns, 1.5194 ns/op +OverheadActual 5: 16777216 op, 25640600.00 ns, 1.5283 ns/op +OverheadActual 6: 16777216 op, 25528500.00 ns, 1.5216 ns/op +OverheadActual 7: 16777216 op, 25494400.00 ns, 1.5196 ns/op +OverheadActual 8: 16777216 op, 25656800.00 ns, 1.5293 ns/op +OverheadActual 9: 16777216 op, 25476000.00 ns, 1.5185 ns/op +OverheadActual 10: 16777216 op, 25573300.00 ns, 1.5243 ns/op +OverheadActual 11: 16777216 op, 22434100.00 ns, 1.3372 ns/op +OverheadActual 12: 16777216 op, 17723200.00 ns, 1.0564 ns/op +OverheadActual 13: 16777216 op, 17689800.00 ns, 1.0544 ns/op +OverheadActual 14: 16777216 op, 17611000.00 ns, 1.0497 ns/op +OverheadActual 15: 16777216 op, 18038700.00 ns, 1.0752 ns/op +OverheadActual 16: 16777216 op, 17631400.00 ns, 1.0509 ns/op +OverheadActual 17: 16777216 op, 17619800.00 ns, 1.0502 ns/op +OverheadActual 18: 16777216 op, 17702200.00 ns, 1.0551 ns/op +OverheadActual 19: 16777216 op, 17632300.00 ns, 1.0510 ns/op +OverheadActual 20: 16777216 op, 17610200.00 ns, 1.0496 ns/op + +WorkloadWarmup 1: 16777216 op, 593199700.00 ns, 35.3575 ns/op +WorkloadWarmup 2: 16777216 op, 594832900.00 ns, 35.4548 ns/op +WorkloadWarmup 3: 16777216 op, 587806400.00 ns, 35.0360 ns/op +WorkloadWarmup 4: 16777216 op, 589951000.00 ns, 35.1638 ns/op +WorkloadWarmup 5: 16777216 op, 587962600.00 ns, 35.0453 ns/op +WorkloadWarmup 6: 16777216 op, 590290600.00 ns, 35.1841 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 592669100.00 ns, 35.3258 ns/op +WorkloadActual 2: 16777216 op, 590065600.00 ns, 35.1707 ns/op +WorkloadActual 3: 16777216 op, 589741300.00 ns, 35.1513 ns/op +WorkloadActual 4: 16777216 op, 586223800.00 ns, 34.9417 ns/op +WorkloadActual 5: 16777216 op, 587230100.00 ns, 35.0016 ns/op +WorkloadActual 6: 16777216 op, 588871500.00 ns, 35.0995 ns/op +WorkloadActual 7: 16777216 op, 588282300.00 ns, 35.0644 ns/op +WorkloadActual 8: 16777216 op, 588691800.00 ns, 35.0888 ns/op +WorkloadActual 9: 16777216 op, 588931600.00 ns, 35.1031 ns/op +WorkloadActual 10: 16777216 op, 588003900.00 ns, 35.0478 ns/op +WorkloadActual 11: 16777216 op, 588598400.00 ns, 35.0832 ns/op +WorkloadActual 12: 16777216 op, 588091800.00 ns, 35.0530 ns/op +WorkloadActual 13: 16777216 op, 589176500.00 ns, 35.1177 ns/op +WorkloadActual 14: 16777216 op, 589542400.00 ns, 35.1395 ns/op +WorkloadActual 15: 16777216 op, 588449800.00 ns, 35.0743 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 566110550.00 ns, 33.7428 ns/op +WorkloadResult 2: 16777216 op, 565786250.00 ns, 33.7235 ns/op +WorkloadResult 3: 16777216 op, 562268750.00 ns, 33.5138 ns/op +WorkloadResult 4: 16777216 op, 563275050.00 ns, 33.5738 ns/op +WorkloadResult 5: 16777216 op, 564916450.00 ns, 33.6716 ns/op +WorkloadResult 6: 16777216 op, 564327250.00 ns, 33.6365 ns/op +WorkloadResult 7: 16777216 op, 564736750.00 ns, 33.6609 ns/op +WorkloadResult 8: 16777216 op, 564976550.00 ns, 33.6752 ns/op +WorkloadResult 9: 16777216 op, 564048850.00 ns, 33.6199 ns/op +WorkloadResult 10: 16777216 op, 564643350.00 ns, 33.6554 ns/op +WorkloadResult 11: 16777216 op, 564136750.00 ns, 33.6252 ns/op +WorkloadResult 12: 16777216 op, 565221450.00 ns, 33.6898 ns/op +WorkloadResult 13: 16777216 op, 565587350.00 ns, 33.7116 ns/op +WorkloadResult 14: 16777216 op, 564494750.00 ns, 33.6465 ns/op +// GC: 135 0 0 2550136832 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 111792 has exited with code 0. + +Mean = 33.653 ns, StdErr = 0.016 ns (0.05%), N = 14, StdDev = 0.060 ns +Min = 33.514 ns, Q1 = 33.628 ns, Median = 33.658 ns, Q3 = 33.686 ns, Max = 33.743 ns +IQR = 0.058 ns, LowerFence = 33.541 ns, UpperFence = 33.773 ns +ConfidenceInterval = [33.586 ns; 33.721 ns] (CI 99.9%), Margin = 0.068 ns (0.20% of Mean) +Skewness = -0.65, Kurtosis = 2.91, MValue = 2 + +// ** Remained 7 (26.9%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 2m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2820 2780 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.NewArrayBlockCopy(ArraySize: 128)" --job ".NET 10.0" --benchmarkId 10 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 80100.00 ns, 80.1000 us/op +WorkloadJitting 1: 1 op, 137300.00 ns, 137.3000 us/op + +OverheadJitting 2: 16 op, 114900.00 ns, 7.1813 us/op +WorkloadJitting 2: 16 op, 129900.00 ns, 8.1188 us/op + +WorkloadPilot 1: 16 op, 4000.00 ns, 250.0000 ns/op +WorkloadPilot 2: 32 op, 11200.00 ns, 350.0000 ns/op +WorkloadPilot 3: 64 op, 7800.00 ns, 121.8750 ns/op +WorkloadPilot 4: 128 op, 16100.00 ns, 125.7813 ns/op +WorkloadPilot 5: 256 op, 23700.00 ns, 92.5781 ns/op +WorkloadPilot 6: 512 op, 29100.00 ns, 56.8359 ns/op +WorkloadPilot 7: 1024 op, 64100.00 ns, 62.5977 ns/op +WorkloadPilot 8: 2048 op, 88600.00 ns, 43.2617 ns/op +WorkloadPilot 9: 4096 op, 154900.00 ns, 37.8174 ns/op +WorkloadPilot 10: 8192 op, 371300.00 ns, 45.3247 ns/op +WorkloadPilot 11: 16384 op, 789100.00 ns, 48.1628 ns/op +WorkloadPilot 12: 32768 op, 1489800.00 ns, 45.4651 ns/op +WorkloadPilot 13: 65536 op, 2715800.00 ns, 41.4398 ns/op +WorkloadPilot 14: 131072 op, 5140400.00 ns, 39.2181 ns/op +WorkloadPilot 15: 262144 op, 3989700.00 ns, 15.2195 ns/op +WorkloadPilot 16: 524288 op, 7439600.00 ns, 14.1899 ns/op +WorkloadPilot 17: 1048576 op, 13355100.00 ns, 12.7364 ns/op +WorkloadPilot 18: 2097152 op, 25022300.00 ns, 11.9316 ns/op +WorkloadPilot 19: 4194304 op, 50073000.00 ns, 11.9383 ns/op +WorkloadPilot 20: 8388608 op, 83604200.00 ns, 9.9664 ns/op +WorkloadPilot 21: 16777216 op, 143494300.00 ns, 8.5529 ns/op +WorkloadPilot 22: 33554432 op, 292821800.00 ns, 8.7268 ns/op +WorkloadPilot 23: 67108864 op, 586038800.00 ns, 8.7327 ns/op + +OverheadWarmup 1: 67108864 op, 101490200.00 ns, 1.5123 ns/op +OverheadWarmup 2: 67108864 op, 101301500.00 ns, 1.5095 ns/op +OverheadWarmup 3: 67108864 op, 74554400.00 ns, 1.1109 ns/op +OverheadWarmup 4: 67108864 op, 70615900.00 ns, 1.0523 ns/op +OverheadWarmup 5: 67108864 op, 70561400.00 ns, 1.0514 ns/op +OverheadWarmup 6: 67108864 op, 70551600.00 ns, 1.0513 ns/op +OverheadWarmup 7: 67108864 op, 70446200.00 ns, 1.0497 ns/op +OverheadWarmup 8: 67108864 op, 70798500.00 ns, 1.0550 ns/op +OverheadWarmup 9: 67108864 op, 70609200.00 ns, 1.0522 ns/op +OverheadWarmup 10: 67108864 op, 70558600.00 ns, 1.0514 ns/op + +OverheadActual 1: 67108864 op, 71027500.00 ns, 1.0584 ns/op +OverheadActual 2: 67108864 op, 70486700.00 ns, 1.0503 ns/op +OverheadActual 3: 67108864 op, 70633400.00 ns, 1.0525 ns/op +OverheadActual 4: 67108864 op, 70497700.00 ns, 1.0505 ns/op +OverheadActual 5: 67108864 op, 70520200.00 ns, 1.0508 ns/op +OverheadActual 6: 67108864 op, 70435500.00 ns, 1.0496 ns/op +OverheadActual 7: 67108864 op, 70574500.00 ns, 1.0516 ns/op +OverheadActual 8: 67108864 op, 70466500.00 ns, 1.0500 ns/op +OverheadActual 9: 67108864 op, 70450900.00 ns, 1.0498 ns/op +OverheadActual 10: 67108864 op, 70556400.00 ns, 1.0514 ns/op +OverheadActual 11: 67108864 op, 70459200.00 ns, 1.0499 ns/op +OverheadActual 12: 67108864 op, 70473100.00 ns, 1.0501 ns/op +OverheadActual 13: 67108864 op, 70583900.00 ns, 1.0518 ns/op +OverheadActual 14: 67108864 op, 70437600.00 ns, 1.0496 ns/op +OverheadActual 15: 67108864 op, 70516600.00 ns, 1.0508 ns/op + +WorkloadWarmup 1: 67108864 op, 588775700.00 ns, 8.7734 ns/op +WorkloadWarmup 2: 67108864 op, 581678400.00 ns, 8.6677 ns/op +WorkloadWarmup 3: 67108864 op, 577879500.00 ns, 8.6111 ns/op +WorkloadWarmup 4: 67108864 op, 587518300.00 ns, 8.7547 ns/op +WorkloadWarmup 5: 67108864 op, 579464000.00 ns, 8.6347 ns/op +WorkloadWarmup 6: 67108864 op, 577253300.00 ns, 8.6017 ns/op +WorkloadWarmup 7: 67108864 op, 584456700.00 ns, 8.7091 ns/op +WorkloadWarmup 8: 67108864 op, 581637000.00 ns, 8.6671 ns/op + +// BeforeActualRun +WorkloadActual 1: 67108864 op, 595715000.00 ns, 8.8768 ns/op +WorkloadActual 2: 67108864 op, 575767200.00 ns, 8.5796 ns/op +WorkloadActual 3: 67108864 op, 611140200.00 ns, 9.1067 ns/op +WorkloadActual 4: 67108864 op, 613637300.00 ns, 9.1439 ns/op +WorkloadActual 5: 67108864 op, 586524700.00 ns, 8.7399 ns/op +WorkloadActual 6: 67108864 op, 584843100.00 ns, 8.7148 ns/op +WorkloadActual 7: 67108864 op, 575987400.00 ns, 8.5829 ns/op +WorkloadActual 8: 67108864 op, 592286700.00 ns, 8.8258 ns/op +WorkloadActual 9: 67108864 op, 599810100.00 ns, 8.9379 ns/op +WorkloadActual 10: 67108864 op, 601281300.00 ns, 8.9598 ns/op +WorkloadActual 11: 67108864 op, 579125700.00 ns, 8.6296 ns/op +WorkloadActual 12: 67108864 op, 576274400.00 ns, 8.5872 ns/op +WorkloadActual 13: 67108864 op, 582256000.00 ns, 8.6763 ns/op +WorkloadActual 14: 67108864 op, 577710900.00 ns, 8.6086 ns/op +WorkloadActual 15: 67108864 op, 590575400.00 ns, 8.8003 ns/op +WorkloadActual 16: 67108864 op, 598188800.00 ns, 8.9137 ns/op +WorkloadActual 17: 67108864 op, 581954300.00 ns, 8.6718 ns/op +WorkloadActual 18: 67108864 op, 584578700.00 ns, 8.7109 ns/op + +// AfterActualRun +WorkloadResult 1: 67108864 op, 525217300.00 ns, 7.8263 ns/op +WorkloadResult 2: 67108864 op, 505269500.00 ns, 7.5291 ns/op +WorkloadResult 3: 67108864 op, 540642500.00 ns, 8.0562 ns/op +WorkloadResult 4: 67108864 op, 543139600.00 ns, 8.0934 ns/op +WorkloadResult 5: 67108864 op, 516027000.00 ns, 7.6894 ns/op +WorkloadResult 6: 67108864 op, 514345400.00 ns, 7.6643 ns/op +WorkloadResult 7: 67108864 op, 505489700.00 ns, 7.5324 ns/op +WorkloadResult 8: 67108864 op, 521789000.00 ns, 7.7753 ns/op +WorkloadResult 9: 67108864 op, 529312400.00 ns, 7.8874 ns/op +WorkloadResult 10: 67108864 op, 530783600.00 ns, 7.9093 ns/op +WorkloadResult 11: 67108864 op, 508628000.00 ns, 7.5791 ns/op +WorkloadResult 12: 67108864 op, 505776700.00 ns, 7.5367 ns/op +WorkloadResult 13: 67108864 op, 511758300.00 ns, 7.6258 ns/op +WorkloadResult 14: 67108864 op, 507213200.00 ns, 7.5581 ns/op +WorkloadResult 15: 67108864 op, 520077700.00 ns, 7.7498 ns/op +WorkloadResult 16: 67108864 op, 527691100.00 ns, 7.8632 ns/op +WorkloadResult 17: 67108864 op, 511456600.00 ns, 7.6213 ns/op +WorkloadResult 18: 67108864 op, 514081000.00 ns, 7.6604 ns/op +// GC: 542 0 0 10200547328 67108864 +// Threading: 0 0 67108864 + +// AfterAll +// Benchmark Process 96404 has exited with code 0. + +Mean = 7.731 ns, StdErr = 0.042 ns (0.54%), N = 18, StdDev = 0.176 ns +Min = 7.529 ns, Q1 = 7.590 ns, Median = 7.677 ns, Q3 = 7.854 ns, Max = 8.093 ns +IQR = 0.264 ns, LowerFence = 7.193 ns, UpperFence = 8.250 ns +ConfidenceInterval = [7.566 ns; 7.896 ns] (CI 99.9%), Margin = 0.165 ns (2.13% of Mean) +Skewness = 0.61, Kurtosis = 2.13, MValue = 2 + +// ** Remained 6 (23.1%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 2m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2876 2112 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.ArrayClone(ArraySize: 128)" --job ".NET Framework 4.8.1" --benchmarkId 9 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 123300.00 ns, 123.3000 us/op +WorkloadJitting 1: 1 op, 116000.00 ns, 116.0000 us/op + +OverheadJitting 2: 16 op, 115100.00 ns, 7.1938 us/op +WorkloadJitting 2: 16 op, 109000.00 ns, 6.8125 us/op + +WorkloadPilot 1: 16 op, 2600.00 ns, 162.5000 ns/op +WorkloadPilot 2: 32 op, 2100.00 ns, 65.6250 ns/op +WorkloadPilot 3: 64 op, 2400.00 ns, 37.5000 ns/op +WorkloadPilot 4: 128 op, 4300.00 ns, 33.5938 ns/op +WorkloadPilot 5: 256 op, 7700.00 ns, 30.0781 ns/op +WorkloadPilot 6: 512 op, 14600.00 ns, 28.5156 ns/op +WorkloadPilot 7: 1024 op, 60500.00 ns, 59.0820 ns/op +WorkloadPilot 8: 2048 op, 49600.00 ns, 24.2188 ns/op +WorkloadPilot 9: 4096 op, 301700.00 ns, 73.6572 ns/op +WorkloadPilot 10: 8192 op, 345800.00 ns, 42.2119 ns/op +WorkloadPilot 11: 16384 op, 700600.00 ns, 42.7612 ns/op +WorkloadPilot 12: 32768 op, 1438200.00 ns, 43.8904 ns/op +WorkloadPilot 13: 65536 op, 1961600.00 ns, 29.9316 ns/op +WorkloadPilot 14: 131072 op, 3200900.00 ns, 24.4209 ns/op +WorkloadPilot 15: 262144 op, 6382900.00 ns, 24.3488 ns/op +WorkloadPilot 16: 524288 op, 12673900.00 ns, 24.1735 ns/op +WorkloadPilot 17: 1048576 op, 24625400.00 ns, 23.4846 ns/op +WorkloadPilot 18: 2097152 op, 49586800.00 ns, 23.6448 ns/op +WorkloadPilot 19: 4194304 op, 99065400.00 ns, 23.6190 ns/op +WorkloadPilot 20: 8388608 op, 198162500.00 ns, 23.6228 ns/op +WorkloadPilot 21: 16777216 op, 396040900.00 ns, 23.6059 ns/op +WorkloadPilot 22: 33554432 op, 792976500.00 ns, 23.6325 ns/op + +OverheadWarmup 1: 33554432 op, 33790200.00 ns, 1.0070 ns/op +OverheadWarmup 2: 33554432 op, 33075400.00 ns, 0.9857 ns/op +OverheadWarmup 3: 33554432 op, 33443100.00 ns, 0.9967 ns/op +OverheadWarmup 4: 33554432 op, 32991900.00 ns, 0.9832 ns/op +OverheadWarmup 5: 33554432 op, 33385200.00 ns, 0.9950 ns/op +OverheadWarmup 6: 33554432 op, 34061400.00 ns, 1.0151 ns/op +OverheadWarmup 7: 33554432 op, 33612000.00 ns, 1.0017 ns/op + +OverheadActual 1: 33554432 op, 33210400.00 ns, 0.9897 ns/op +OverheadActual 2: 33554432 op, 33171400.00 ns, 0.9886 ns/op +OverheadActual 3: 33554432 op, 34219500.00 ns, 1.0198 ns/op +OverheadActual 4: 33554432 op, 33681400.00 ns, 1.0038 ns/op +OverheadActual 5: 33554432 op, 33729600.00 ns, 1.0052 ns/op +OverheadActual 6: 33554432 op, 33365000.00 ns, 0.9944 ns/op +OverheadActual 7: 33554432 op, 34018100.00 ns, 1.0138 ns/op +OverheadActual 8: 33554432 op, 33760300.00 ns, 1.0061 ns/op +OverheadActual 9: 33554432 op, 33138500.00 ns, 0.9876 ns/op +OverheadActual 10: 33554432 op, 34136400.00 ns, 1.0173 ns/op +OverheadActual 11: 33554432 op, 34151600.00 ns, 1.0178 ns/op +OverheadActual 12: 33554432 op, 33131800.00 ns, 0.9874 ns/op +OverheadActual 13: 33554432 op, 33490400.00 ns, 0.9981 ns/op +OverheadActual 14: 33554432 op, 34453100.00 ns, 1.0268 ns/op +OverheadActual 15: 33554432 op, 33638000.00 ns, 1.0025 ns/op + +WorkloadWarmup 1: 33554432 op, 794092600.00 ns, 23.6658 ns/op +WorkloadWarmup 2: 33554432 op, 790396700.00 ns, 23.5557 ns/op +WorkloadWarmup 3: 33554432 op, 793172000.00 ns, 23.6384 ns/op +WorkloadWarmup 4: 33554432 op, 793178500.00 ns, 23.6386 ns/op +WorkloadWarmup 5: 33554432 op, 789710000.00 ns, 23.5352 ns/op +WorkloadWarmup 6: 33554432 op, 790639500.00 ns, 23.5629 ns/op +WorkloadWarmup 7: 33554432 op, 790015900.00 ns, 23.5443 ns/op + +// BeforeActualRun +WorkloadActual 1: 33554432 op, 790085600.00 ns, 23.5464 ns/op +WorkloadActual 2: 33554432 op, 791685900.00 ns, 23.5941 ns/op +WorkloadActual 3: 33554432 op, 791775300.00 ns, 23.5967 ns/op +WorkloadActual 4: 33554432 op, 791892100.00 ns, 23.6002 ns/op +WorkloadActual 5: 33554432 op, 793738400.00 ns, 23.6552 ns/op +WorkloadActual 6: 33554432 op, 796281100.00 ns, 23.7310 ns/op +WorkloadActual 7: 33554432 op, 790666400.00 ns, 23.5637 ns/op +WorkloadActual 8: 33554432 op, 790704300.00 ns, 23.5648 ns/op +WorkloadActual 9: 33554432 op, 790433100.00 ns, 23.5567 ns/op +WorkloadActual 10: 33554432 op, 794507700.00 ns, 23.6782 ns/op +WorkloadActual 11: 33554432 op, 791732500.00 ns, 23.5955 ns/op +WorkloadActual 12: 33554432 op, 791369600.00 ns, 23.5847 ns/op +WorkloadActual 13: 33554432 op, 790577800.00 ns, 23.5611 ns/op +WorkloadActual 14: 33554432 op, 792299300.00 ns, 23.6124 ns/op +WorkloadActual 15: 33554432 op, 792654500.00 ns, 23.6229 ns/op + +// AfterActualRun +WorkloadResult 1: 33554432 op, 756404200.00 ns, 22.5426 ns/op +WorkloadResult 2: 33554432 op, 758004500.00 ns, 22.5903 ns/op +WorkloadResult 3: 33554432 op, 758093900.00 ns, 22.5930 ns/op +WorkloadResult 4: 33554432 op, 758210700.00 ns, 22.5964 ns/op +WorkloadResult 5: 33554432 op, 760057000.00 ns, 22.6515 ns/op +WorkloadResult 6: 33554432 op, 756985000.00 ns, 22.5599 ns/op +WorkloadResult 7: 33554432 op, 757022900.00 ns, 22.5610 ns/op +WorkloadResult 8: 33554432 op, 756751700.00 ns, 22.5530 ns/op +WorkloadResult 9: 33554432 op, 760826300.00 ns, 22.6744 ns/op +WorkloadResult 10: 33554432 op, 758051100.00 ns, 22.5917 ns/op +WorkloadResult 11: 33554432 op, 757688200.00 ns, 22.5809 ns/op +WorkloadResult 12: 33554432 op, 756896400.00 ns, 22.5573 ns/op +WorkloadResult 13: 33554432 op, 758617900.00 ns, 22.6086 ns/op +WorkloadResult 14: 33554432 op, 758973100.00 ns, 22.6192 ns/op +// GC: 813 0 0 5115383536 33554432 +// Threading: 0 0 33554432 + +// AfterAll +// Benchmark Process 116044 has exited with code 0. + +Mean = 22.591 ns, StdErr = 0.010 ns (0.04%), N = 14, StdDev = 0.038 ns +Min = 22.543 ns, Q1 = 22.560 ns, Median = 22.591 ns, Q3 = 22.606 ns, Max = 22.674 ns +IQR = 0.045 ns, LowerFence = 22.492 ns, UpperFence = 22.674 ns +ConfidenceInterval = [22.549 ns; 22.634 ns] (CI 99.9%), Margin = 0.043 ns (0.19% of Mean) +Skewness = 0.71, Kurtosis = 2.51, MValue = 2 + +// ** Remained 5 (19.2%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 1m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2984 2608 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.NewArrayBlockCopy(ArraySize: 128)" --job ".NET Framework 4.8.1" --benchmarkId 10 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 196500.00 ns, 196.5000 us/op +WorkloadJitting 1: 1 op, 117200.00 ns, 117.2000 us/op + +OverheadJitting 2: 16 op, 111800.00 ns, 6.9875 us/op +WorkloadJitting 2: 16 op, 149800.00 ns, 9.3625 us/op + +WorkloadPilot 1: 16 op, 2100.00 ns, 131.2500 ns/op +WorkloadPilot 2: 32 op, 900.00 ns, 28.1250 ns/op +WorkloadPilot 3: 64 op, 2300.00 ns, 35.9375 ns/op +WorkloadPilot 4: 128 op, 2500.00 ns, 19.5313 ns/op +WorkloadPilot 5: 256 op, 4200.00 ns, 16.4063 ns/op +WorkloadPilot 6: 512 op, 8900.00 ns, 17.3828 ns/op +WorkloadPilot 7: 1024 op, 51300.00 ns, 50.0977 ns/op +WorkloadPilot 8: 2048 op, 26500.00 ns, 12.9395 ns/op +WorkloadPilot 9: 4096 op, 119300.00 ns, 29.1260 ns/op +WorkloadPilot 10: 8192 op, 254900.00 ns, 31.1157 ns/op +WorkloadPilot 11: 16384 op, 497900.00 ns, 30.3894 ns/op +WorkloadPilot 12: 32768 op, 1026500.00 ns, 31.3263 ns/op +WorkloadPilot 13: 65536 op, 1172900.00 ns, 17.8970 ns/op +WorkloadPilot 14: 131072 op, 1701000.00 ns, 12.9776 ns/op +WorkloadPilot 15: 262144 op, 3238200.00 ns, 12.3528 ns/op +WorkloadPilot 16: 524288 op, 6720100.00 ns, 12.8176 ns/op +WorkloadPilot 17: 1048576 op, 12845200.00 ns, 12.2501 ns/op +WorkloadPilot 18: 2097152 op, 26014100.00 ns, 12.4045 ns/op +WorkloadPilot 19: 4194304 op, 51773200.00 ns, 12.3437 ns/op +WorkloadPilot 20: 8388608 op, 102650700.00 ns, 12.2369 ns/op +WorkloadPilot 21: 16777216 op, 205290200.00 ns, 12.2362 ns/op +WorkloadPilot 22: 33554432 op, 410928100.00 ns, 12.2466 ns/op +WorkloadPilot 23: 67108864 op, 821810100.00 ns, 12.2459 ns/op + +OverheadWarmup 1: 67108864 op, 65139600.00 ns, 0.9707 ns/op +OverheadWarmup 2: 67108864 op, 64867900.00 ns, 0.9666 ns/op +OverheadWarmup 3: 67108864 op, 62926200.00 ns, 0.9377 ns/op +OverheadWarmup 4: 67108864 op, 63700200.00 ns, 0.9492 ns/op +OverheadWarmup 5: 67108864 op, 62640400.00 ns, 0.9334 ns/op +OverheadWarmup 6: 67108864 op, 63145400.00 ns, 0.9409 ns/op +OverheadWarmup 7: 67108864 op, 65700600.00 ns, 0.9790 ns/op +OverheadWarmup 8: 67108864 op, 66091600.00 ns, 0.9848 ns/op +OverheadWarmup 9: 67108864 op, 64846000.00 ns, 0.9663 ns/op + +OverheadActual 1: 67108864 op, 66839400.00 ns, 0.9960 ns/op +OverheadActual 2: 67108864 op, 65443900.00 ns, 0.9752 ns/op +OverheadActual 3: 67108864 op, 66876200.00 ns, 0.9965 ns/op +OverheadActual 4: 67108864 op, 66422900.00 ns, 0.9898 ns/op +OverheadActual 5: 67108864 op, 65436500.00 ns, 0.9751 ns/op +OverheadActual 6: 67108864 op, 64929700.00 ns, 0.9675 ns/op +OverheadActual 7: 67108864 op, 64183700.00 ns, 0.9564 ns/op +OverheadActual 8: 67108864 op, 65581000.00 ns, 0.9772 ns/op +OverheadActual 9: 67108864 op, 66400900.00 ns, 0.9895 ns/op +OverheadActual 10: 67108864 op, 65432900.00 ns, 0.9750 ns/op +OverheadActual 11: 67108864 op, 65749700.00 ns, 0.9797 ns/op +OverheadActual 12: 67108864 op, 65242400.00 ns, 0.9722 ns/op +OverheadActual 13: 67108864 op, 65078000.00 ns, 0.9697 ns/op +OverheadActual 14: 67108864 op, 63967600.00 ns, 0.9532 ns/op +OverheadActual 15: 67108864 op, 65598600.00 ns, 0.9775 ns/op + +WorkloadWarmup 1: 67108864 op, 820517200.00 ns, 12.2267 ns/op +WorkloadWarmup 2: 67108864 op, 822067200.00 ns, 12.2498 ns/op +WorkloadWarmup 3: 67108864 op, 820522400.00 ns, 12.2267 ns/op +WorkloadWarmup 4: 67108864 op, 821082200.00 ns, 12.2351 ns/op +WorkloadWarmup 5: 67108864 op, 820796300.00 ns, 12.2308 ns/op +WorkloadWarmup 6: 67108864 op, 821347600.00 ns, 12.2390 ns/op + +// BeforeActualRun +WorkloadActual 1: 67108864 op, 820702200.00 ns, 12.2294 ns/op +WorkloadActual 2: 67108864 op, 821404200.00 ns, 12.2399 ns/op +WorkloadActual 3: 67108864 op, 821904000.00 ns, 12.2473 ns/op +WorkloadActual 4: 67108864 op, 821568400.00 ns, 12.2423 ns/op +WorkloadActual 5: 67108864 op, 822375200.00 ns, 12.2543 ns/op +WorkloadActual 6: 67108864 op, 863068400.00 ns, 12.8607 ns/op +WorkloadActual 7: 67108864 op, 838158300.00 ns, 12.4895 ns/op +WorkloadActual 8: 67108864 op, 824404000.00 ns, 12.2846 ns/op +WorkloadActual 9: 67108864 op, 821345300.00 ns, 12.2390 ns/op +WorkloadActual 10: 67108864 op, 821277000.00 ns, 12.2380 ns/op +WorkloadActual 11: 67108864 op, 823178600.00 ns, 12.2663 ns/op +WorkloadActual 12: 67108864 op, 822560000.00 ns, 12.2571 ns/op +WorkloadActual 13: 67108864 op, 822644900.00 ns, 12.2584 ns/op +WorkloadActual 14: 67108864 op, 822266000.00 ns, 12.2527 ns/op +WorkloadActual 15: 67108864 op, 822150800.00 ns, 12.2510 ns/op + +// AfterActualRun +WorkloadResult 1: 67108864 op, 755258300.00 ns, 11.2542 ns/op +WorkloadResult 2: 67108864 op, 755960300.00 ns, 11.2647 ns/op +WorkloadResult 3: 67108864 op, 756460100.00 ns, 11.2721 ns/op +WorkloadResult 4: 67108864 op, 756124500.00 ns, 11.2671 ns/op +WorkloadResult 5: 67108864 op, 756931300.00 ns, 11.2792 ns/op +WorkloadResult 6: 67108864 op, 758960100.00 ns, 11.3094 ns/op +WorkloadResult 7: 67108864 op, 755901400.00 ns, 11.2638 ns/op +WorkloadResult 8: 67108864 op, 755833100.00 ns, 11.2628 ns/op +WorkloadResult 9: 67108864 op, 757734700.00 ns, 11.2911 ns/op +WorkloadResult 10: 67108864 op, 757116100.00 ns, 11.2819 ns/op +WorkloadResult 11: 67108864 op, 757201000.00 ns, 11.2832 ns/op +WorkloadResult 12: 67108864 op, 756822100.00 ns, 11.2775 ns/op +WorkloadResult 13: 67108864 op, 756706900.00 ns, 11.2758 ns/op +// GC: 1626 0 0 10230775256 67108864 +// Threading: 0 0 67108864 + +// AfterAll +// Benchmark Process 121860 has exited with code 0. + +Mean = 11.276 ns, StdErr = 0.004 ns (0.04%), N = 13, StdDev = 0.014 ns +Min = 11.254 ns, Q1 = 11.265 ns, Median = 11.276 ns, Q3 = 11.282 ns, Max = 11.309 ns +IQR = 0.017 ns, LowerFence = 11.239 ns, UpperFence = 11.308 ns +ConfidenceInterval = [11.258 ns; 11.293 ns] (CI 99.9%), Margin = 0.017 ns (0.15% of Mean) +Skewness = 0.72, Kurtosis = 3, MValue = 2 + +// ** Remained 4 (15.4%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 1m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2600 1356 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.ArrayClone(ArraySize: 1024)" --job ".NET 10.0" --benchmarkId 11 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 79400.00 ns, 79.4000 us/op +WorkloadJitting 1: 1 op, 128900.00 ns, 128.9000 us/op + +OverheadJitting 2: 16 op, 106100.00 ns, 6.6313 us/op +WorkloadJitting 2: 16 op, 115200.00 ns, 7.2000 us/op + +WorkloadPilot 1: 16 op, 2700.00 ns, 168.7500 ns/op +WorkloadPilot 2: 32 op, 2800.00 ns, 87.5000 ns/op +WorkloadPilot 3: 64 op, 20700.00 ns, 323.4375 ns/op +WorkloadPilot 4: 128 op, 30800.00 ns, 240.6250 ns/op +WorkloadPilot 5: 256 op, 56700.00 ns, 221.4844 ns/op +WorkloadPilot 6: 512 op, 121100.00 ns, 236.5234 ns/op +WorkloadPilot 7: 1024 op, 196400.00 ns, 191.7969 ns/op +WorkloadPilot 8: 2048 op, 430600.00 ns, 210.2539 ns/op +WorkloadPilot 9: 4096 op, 880200.00 ns, 214.8926 ns/op +WorkloadPilot 10: 8192 op, 1768200.00 ns, 215.8447 ns/op +WorkloadPilot 11: 16384 op, 3247100.00 ns, 198.1873 ns/op +WorkloadPilot 12: 32768 op, 2491900.00 ns, 76.0468 ns/op +WorkloadPilot 13: 65536 op, 4210300.00 ns, 64.2441 ns/op +WorkloadPilot 14: 131072 op, 7277500.00 ns, 55.5229 ns/op +WorkloadPilot 15: 262144 op, 14701400.00 ns, 56.0814 ns/op +WorkloadPilot 16: 524288 op, 28978700.00 ns, 55.2725 ns/op +WorkloadPilot 17: 1048576 op, 54722600.00 ns, 52.1875 ns/op +WorkloadPilot 18: 2097152 op, 109010200.00 ns, 51.9801 ns/op +WorkloadPilot 19: 4194304 op, 214691200.00 ns, 51.1864 ns/op +WorkloadPilot 20: 8388608 op, 435027600.00 ns, 51.8593 ns/op +WorkloadPilot 21: 16777216 op, 866268800.00 ns, 51.6336 ns/op + +OverheadWarmup 1: 16777216 op, 25520200.00 ns, 1.5211 ns/op +OverheadWarmup 2: 16777216 op, 25638500.00 ns, 1.5282 ns/op +OverheadWarmup 3: 16777216 op, 25532500.00 ns, 1.5219 ns/op +OverheadWarmup 4: 16777216 op, 25474200.00 ns, 1.5184 ns/op +OverheadWarmup 5: 16777216 op, 25509600.00 ns, 1.5205 ns/op +OverheadWarmup 6: 16777216 op, 25512200.00 ns, 1.5206 ns/op +OverheadWarmup 7: 16777216 op, 25512800.00 ns, 1.5207 ns/op +OverheadWarmup 8: 16777216 op, 25566600.00 ns, 1.5239 ns/op +OverheadWarmup 9: 16777216 op, 20784200.00 ns, 1.2388 ns/op + +OverheadActual 1: 16777216 op, 17613000.00 ns, 1.0498 ns/op +OverheadActual 2: 16777216 op, 17669300.00 ns, 1.0532 ns/op +OverheadActual 3: 16777216 op, 17628700.00 ns, 1.0508 ns/op +OverheadActual 4: 16777216 op, 17629600.00 ns, 1.0508 ns/op +OverheadActual 5: 16777216 op, 17685600.00 ns, 1.0541 ns/op +OverheadActual 6: 16777216 op, 17606500.00 ns, 1.0494 ns/op +OverheadActual 7: 16777216 op, 17602200.00 ns, 1.0492 ns/op +OverheadActual 8: 16777216 op, 17652500.00 ns, 1.0522 ns/op +OverheadActual 9: 16777216 op, 17724300.00 ns, 1.0565 ns/op +OverheadActual 10: 16777216 op, 17673400.00 ns, 1.0534 ns/op +OverheadActual 11: 16777216 op, 17617900.00 ns, 1.0501 ns/op +OverheadActual 12: 16777216 op, 17629900.00 ns, 1.0508 ns/op +OverheadActual 13: 16777216 op, 17658300.00 ns, 1.0525 ns/op +OverheadActual 14: 16777216 op, 17644700.00 ns, 1.0517 ns/op +OverheadActual 15: 16777216 op, 17642700.00 ns, 1.0516 ns/op + +WorkloadWarmup 1: 16777216 op, 871145200.00 ns, 51.9243 ns/op +WorkloadWarmup 2: 16777216 op, 865569700.00 ns, 51.5920 ns/op +WorkloadWarmup 3: 16777216 op, 858645400.00 ns, 51.1793 ns/op +WorkloadWarmup 4: 16777216 op, 870299000.00 ns, 51.8739 ns/op +WorkloadWarmup 5: 16777216 op, 864777900.00 ns, 51.5448 ns/op +WorkloadWarmup 6: 16777216 op, 861966400.00 ns, 51.3772 ns/op +WorkloadWarmup 7: 16777216 op, 859708400.00 ns, 51.2426 ns/op +WorkloadWarmup 8: 16777216 op, 860989300.00 ns, 51.3190 ns/op +WorkloadWarmup 9: 16777216 op, 860719100.00 ns, 51.3029 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 861802400.00 ns, 51.3674 ns/op +WorkloadActual 2: 16777216 op, 854368500.00 ns, 50.9243 ns/op +WorkloadActual 3: 16777216 op, 873901700.00 ns, 52.0886 ns/op +WorkloadActual 4: 16777216 op, 859709900.00 ns, 51.2427 ns/op +WorkloadActual 5: 16777216 op, 858702900.00 ns, 51.1827 ns/op +WorkloadActual 6: 16777216 op, 859433000.00 ns, 51.2262 ns/op +WorkloadActual 7: 16777216 op, 871529700.00 ns, 51.9472 ns/op +WorkloadActual 8: 16777216 op, 864527100.00 ns, 51.5298 ns/op +WorkloadActual 9: 16777216 op, 857555800.00 ns, 51.1143 ns/op +WorkloadActual 10: 16777216 op, 864634900.00 ns, 51.5363 ns/op +WorkloadActual 11: 16777216 op, 858675400.00 ns, 51.1810 ns/op +WorkloadActual 12: 16777216 op, 859212400.00 ns, 51.2130 ns/op +WorkloadActual 13: 16777216 op, 882598800.00 ns, 52.6070 ns/op +WorkloadActual 14: 16777216 op, 858629700.00 ns, 51.1783 ns/op +WorkloadActual 15: 16777216 op, 893780200.00 ns, 53.2735 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 844159700.00 ns, 50.3158 ns/op +WorkloadResult 2: 16777216 op, 836725800.00 ns, 49.8727 ns/op +WorkloadResult 3: 16777216 op, 856259000.00 ns, 51.0370 ns/op +WorkloadResult 4: 16777216 op, 842067200.00 ns, 50.1911 ns/op +WorkloadResult 5: 16777216 op, 841060200.00 ns, 50.1311 ns/op +WorkloadResult 6: 16777216 op, 841790300.00 ns, 50.1746 ns/op +WorkloadResult 7: 16777216 op, 853887000.00 ns, 50.8956 ns/op +WorkloadResult 8: 16777216 op, 846884400.00 ns, 50.4782 ns/op +WorkloadResult 9: 16777216 op, 839913100.00 ns, 50.0627 ns/op +WorkloadResult 10: 16777216 op, 846992200.00 ns, 50.4847 ns/op +WorkloadResult 11: 16777216 op, 841032700.00 ns, 50.1295 ns/op +WorkloadResult 12: 16777216 op, 841569700.00 ns, 50.1615 ns/op +WorkloadResult 13: 16777216 op, 840987000.00 ns, 50.1267 ns/op +// GC: 931 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 124876 has exited with code 0. + +Mean = 50.312 ns, StdErr = 0.093 ns (0.18%), N = 13, StdDev = 0.334 ns +Min = 49.873 ns, Q1 = 50.129 ns, Median = 50.175 ns, Q3 = 50.478 ns, Max = 51.037 ns +IQR = 0.349 ns, LowerFence = 49.606 ns, UpperFence = 51.001 ns +ConfidenceInterval = [49.913 ns; 50.712 ns] (CI 99.9%), Margin = 0.399 ns (0.79% of Mean) +Skewness = 0.96, Kurtosis = 2.73, MValue = 2 + +// ** Remained 3 (11.5%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 1m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2600 1356 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.NewArrayBlockCopy(ArraySize: 1024)" --job ".NET 10.0" --benchmarkId 12 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0 + +OverheadJitting 1: 1 op, 77500.00 ns, 77.5000 us/op +WorkloadJitting 1: 1 op, 156500.00 ns, 156.5000 us/op + +OverheadJitting 2: 16 op, 107000.00 ns, 6.6875 us/op +WorkloadJitting 2: 16 op, 111700.00 ns, 6.9813 us/op + +WorkloadPilot 1: 16 op, 8200.00 ns, 512.5000 ns/op +WorkloadPilot 2: 32 op, 15100.00 ns, 471.8750 ns/op +WorkloadPilot 3: 64 op, 25200.00 ns, 393.7500 ns/op +WorkloadPilot 4: 128 op, 54100.00 ns, 422.6563 ns/op +WorkloadPilot 5: 256 op, 76100.00 ns, 297.2656 ns/op +WorkloadPilot 6: 512 op, 136400.00 ns, 266.4063 ns/op +WorkloadPilot 7: 1024 op, 218800.00 ns, 213.6719 ns/op +WorkloadPilot 8: 2048 op, 430700.00 ns, 210.3027 ns/op +WorkloadPilot 9: 4096 op, 831200.00 ns, 202.9297 ns/op +WorkloadPilot 10: 8192 op, 1823900.00 ns, 222.6440 ns/op +WorkloadPilot 11: 16384 op, 3679800.00 ns, 224.5972 ns/op +WorkloadPilot 12: 32768 op, 2453900.00 ns, 74.8871 ns/op +WorkloadPilot 13: 65536 op, 2929000.00 ns, 44.6930 ns/op +WorkloadPilot 14: 131072 op, 5472200.00 ns, 41.7496 ns/op +WorkloadPilot 15: 262144 op, 10996000.00 ns, 41.9464 ns/op +WorkloadPilot 16: 524288 op, 21296100.00 ns, 40.6191 ns/op +WorkloadPilot 17: 1048576 op, 43569000.00 ns, 41.5506 ns/op +WorkloadPilot 18: 2097152 op, 82619600.00 ns, 39.3961 ns/op +WorkloadPilot 19: 4194304 op, 144864200.00 ns, 34.5383 ns/op +WorkloadPilot 20: 8388608 op, 293036400.00 ns, 34.9327 ns/op +WorkloadPilot 21: 16777216 op, 581252400.00 ns, 34.6453 ns/op + +OverheadWarmup 1: 16777216 op, 25300500.00 ns, 1.5080 ns/op +OverheadWarmup 2: 16777216 op, 25289200.00 ns, 1.5074 ns/op +OverheadWarmup 3: 16777216 op, 25266200.00 ns, 1.5060 ns/op +OverheadWarmup 4: 16777216 op, 25416100.00 ns, 1.5149 ns/op +OverheadWarmup 5: 16777216 op, 25440500.00 ns, 1.5164 ns/op +OverheadWarmup 6: 16777216 op, 25304100.00 ns, 1.5082 ns/op +OverheadWarmup 7: 16777216 op, 25282600.00 ns, 1.5070 ns/op +OverheadWarmup 8: 16777216 op, 25476800.00 ns, 1.5185 ns/op +OverheadWarmup 9: 16777216 op, 21136400.00 ns, 1.2598 ns/op + +OverheadActual 1: 16777216 op, 17615200.00 ns, 1.0499 ns/op +OverheadActual 2: 16777216 op, 17629800.00 ns, 1.0508 ns/op +OverheadActual 3: 16777216 op, 17646200.00 ns, 1.0518 ns/op +OverheadActual 4: 16777216 op, 18015200.00 ns, 1.0738 ns/op +OverheadActual 5: 16777216 op, 17672700.00 ns, 1.0534 ns/op +OverheadActual 6: 16777216 op, 17627900.00 ns, 1.0507 ns/op +OverheadActual 7: 16777216 op, 17676500.00 ns, 1.0536 ns/op +OverheadActual 8: 16777216 op, 17628500.00 ns, 1.0507 ns/op +OverheadActual 9: 16777216 op, 17619300.00 ns, 1.0502 ns/op +OverheadActual 10: 16777216 op, 17607800.00 ns, 1.0495 ns/op +OverheadActual 11: 16777216 op, 17612700.00 ns, 1.0498 ns/op +OverheadActual 12: 16777216 op, 17748300.00 ns, 1.0579 ns/op +OverheadActual 13: 16777216 op, 17658800.00 ns, 1.0525 ns/op +OverheadActual 14: 16777216 op, 18003500.00 ns, 1.0731 ns/op +OverheadActual 15: 16777216 op, 17636200.00 ns, 1.0512 ns/op + +WorkloadWarmup 1: 16777216 op, 583088300.00 ns, 34.7548 ns/op +WorkloadWarmup 2: 16777216 op, 597073300.00 ns, 35.5883 ns/op +WorkloadWarmup 3: 16777216 op, 587076000.00 ns, 34.9925 ns/op +WorkloadWarmup 4: 16777216 op, 585964500.00 ns, 34.9262 ns/op +WorkloadWarmup 5: 16777216 op, 583717000.00 ns, 34.7922 ns/op +WorkloadWarmup 6: 16777216 op, 577381900.00 ns, 34.4146 ns/op +WorkloadWarmup 7: 16777216 op, 583448600.00 ns, 34.7762 ns/op +WorkloadWarmup 8: 16777216 op, 581382900.00 ns, 34.6531 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 580689900.00 ns, 34.6118 ns/op +WorkloadActual 2: 16777216 op, 584801500.00 ns, 34.8569 ns/op +WorkloadActual 3: 16777216 op, 582173500.00 ns, 34.7002 ns/op +WorkloadActual 4: 16777216 op, 589047600.00 ns, 35.1100 ns/op +WorkloadActual 5: 16777216 op, 582764600.00 ns, 34.7355 ns/op +WorkloadActual 6: 16777216 op, 588273600.00 ns, 35.0638 ns/op +WorkloadActual 7: 16777216 op, 590507800.00 ns, 35.1970 ns/op +WorkloadActual 8: 16777216 op, 581186400.00 ns, 34.6414 ns/op +WorkloadActual 9: 16777216 op, 590733200.00 ns, 35.2104 ns/op +WorkloadActual 10: 16777216 op, 581193600.00 ns, 34.6418 ns/op +WorkloadActual 11: 16777216 op, 590649200.00 ns, 35.2054 ns/op +WorkloadActual 12: 16777216 op, 584129700.00 ns, 34.8168 ns/op +WorkloadActual 13: 16777216 op, 602504700.00 ns, 35.9121 ns/op +WorkloadActual 14: 16777216 op, 581067200.00 ns, 34.6343 ns/op +WorkloadActual 15: 16777216 op, 590204800.00 ns, 35.1789 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 563053700.00 ns, 33.5606 ns/op +WorkloadResult 2: 16777216 op, 567165300.00 ns, 33.8057 ns/op +WorkloadResult 3: 16777216 op, 564537300.00 ns, 33.6490 ns/op +WorkloadResult 4: 16777216 op, 571411400.00 ns, 34.0588 ns/op +WorkloadResult 5: 16777216 op, 565128400.00 ns, 33.6843 ns/op +WorkloadResult 6: 16777216 op, 570637400.00 ns, 34.0126 ns/op +WorkloadResult 7: 16777216 op, 572871600.00 ns, 34.1458 ns/op +WorkloadResult 8: 16777216 op, 563550200.00 ns, 33.5902 ns/op +WorkloadResult 9: 16777216 op, 573097000.00 ns, 34.1592 ns/op +WorkloadResult 10: 16777216 op, 563557400.00 ns, 33.5906 ns/op +WorkloadResult 11: 16777216 op, 573013000.00 ns, 34.1542 ns/op +WorkloadResult 12: 16777216 op, 566493500.00 ns, 33.7656 ns/op +WorkloadResult 13: 16777216 op, 584868500.00 ns, 34.8609 ns/op +WorkloadResult 14: 16777216 op, 563431000.00 ns, 33.5831 ns/op +WorkloadResult 15: 16777216 op, 572568600.00 ns, 34.1277 ns/op +// GC: 934 3 0 17582522368 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 110924 has exited with code 0. + +Mean = 33.917 ns, StdErr = 0.091 ns (0.27%), N = 15, StdDev = 0.353 ns +Min = 33.561 ns, Q1 = 33.620 ns, Median = 33.806 ns, Q3 = 34.137 ns, Max = 34.861 ns +IQR = 0.517 ns, LowerFence = 32.844 ns, UpperFence = 34.912 ns +ConfidenceInterval = [33.539 ns; 34.294 ns] (CI 99.9%), Margin = 0.377 ns (1.11% of Mean) +Skewness = 1.07, Kurtosis = 3.72, MValue = 2 + +// ** Remained 2 (7.7%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2816 3012 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.ArrayClone(ArraySize: 1024)" --job ".NET Framework 4.8.1" --benchmarkId 11 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 131500.00 ns, 131.5000 us/op +WorkloadJitting 1: 1 op, 108300.00 ns, 108.3000 us/op + +OverheadJitting 2: 16 op, 116700.00 ns, 7.2938 us/op +WorkloadJitting 2: 16 op, 136800.00 ns, 8.5500 us/op + +WorkloadPilot 1: 16 op, 3000.00 ns, 187.5000 ns/op +WorkloadPilot 2: 32 op, 3200.00 ns, 100.0000 ns/op +WorkloadPilot 3: 64 op, 5100.00 ns, 79.6875 ns/op +WorkloadPilot 4: 128 op, 40100.00 ns, 313.2813 ns/op +WorkloadPilot 5: 256 op, 13900.00 ns, 54.2969 ns/op +WorkloadPilot 6: 512 op, 81200.00 ns, 158.5938 ns/op +WorkloadPilot 7: 1024 op, 198300.00 ns, 193.6523 ns/op +WorkloadPilot 8: 2048 op, 398400.00 ns, 194.5313 ns/op +WorkloadPilot 9: 4096 op, 767500.00 ns, 187.3779 ns/op +WorkloadPilot 10: 8192 op, 951400.00 ns, 116.1377 ns/op +WorkloadPilot 11: 16384 op, 877000.00 ns, 53.5278 ns/op +WorkloadPilot 12: 32768 op, 1540400.00 ns, 47.0093 ns/op +WorkloadPilot 13: 65536 op, 3042000.00 ns, 46.4172 ns/op +WorkloadPilot 14: 131072 op, 6191900.00 ns, 47.2404 ns/op +WorkloadPilot 15: 262144 op, 12354800.00 ns, 47.1298 ns/op +WorkloadPilot 16: 524288 op, 24707500.00 ns, 47.1258 ns/op +WorkloadPilot 17: 1048576 op, 48639800.00 ns, 46.3865 ns/op +WorkloadPilot 18: 2097152 op, 95027000.00 ns, 45.3124 ns/op +WorkloadPilot 19: 4194304 op, 190126000.00 ns, 45.3296 ns/op +WorkloadPilot 20: 8388608 op, 379400600.00 ns, 45.2281 ns/op +WorkloadPilot 21: 16777216 op, 759729700.00 ns, 45.2834 ns/op + +OverheadWarmup 1: 16777216 op, 16712900.00 ns, 0.9962 ns/op +OverheadWarmup 2: 16777216 op, 16594900.00 ns, 0.9891 ns/op +OverheadWarmup 3: 16777216 op, 16548100.00 ns, 0.9863 ns/op +OverheadWarmup 4: 16777216 op, 16502200.00 ns, 0.9836 ns/op +OverheadWarmup 5: 16777216 op, 16986900.00 ns, 1.0125 ns/op +OverheadWarmup 6: 16777216 op, 16651300.00 ns, 0.9925 ns/op +OverheadWarmup 7: 16777216 op, 16780100.00 ns, 1.0002 ns/op +OverheadWarmup 8: 16777216 op, 16727400.00 ns, 0.9970 ns/op + +OverheadActual 1: 16777216 op, 16824900.00 ns, 1.0028 ns/op +OverheadActual 2: 16777216 op, 16826600.00 ns, 1.0029 ns/op +OverheadActual 3: 16777216 op, 16920800.00 ns, 1.0086 ns/op +OverheadActual 4: 16777216 op, 16503900.00 ns, 0.9837 ns/op +OverheadActual 5: 16777216 op, 16998000.00 ns, 1.0132 ns/op +OverheadActual 6: 16777216 op, 16887900.00 ns, 1.0066 ns/op +OverheadActual 7: 16777216 op, 16594700.00 ns, 0.9891 ns/op +OverheadActual 8: 16777216 op, 17068900.00 ns, 1.0174 ns/op +OverheadActual 9: 16777216 op, 16660300.00 ns, 0.9930 ns/op +OverheadActual 10: 16777216 op, 17195800.00 ns, 1.0249 ns/op +OverheadActual 11: 16777216 op, 16571000.00 ns, 0.9877 ns/op +OverheadActual 12: 16777216 op, 17273900.00 ns, 1.0296 ns/op +OverheadActual 13: 16777216 op, 16376000.00 ns, 0.9761 ns/op +OverheadActual 14: 16777216 op, 16510600.00 ns, 0.9841 ns/op +OverheadActual 15: 16777216 op, 17037000.00 ns, 1.0155 ns/op + +WorkloadWarmup 1: 16777216 op, 762552400.00 ns, 45.4517 ns/op +WorkloadWarmup 2: 16777216 op, 758251000.00 ns, 45.1953 ns/op +WorkloadWarmup 3: 16777216 op, 758112300.00 ns, 45.1870 ns/op +WorkloadWarmup 4: 16777216 op, 760219700.00 ns, 45.3126 ns/op +WorkloadWarmup 5: 16777216 op, 758254900.00 ns, 45.1955 ns/op +WorkloadWarmup 6: 16777216 op, 760106300.00 ns, 45.3059 ns/op +WorkloadWarmup 7: 16777216 op, 760275800.00 ns, 45.3160 ns/op +WorkloadWarmup 8: 16777216 op, 760445700.00 ns, 45.3261 ns/op +WorkloadWarmup 9: 16777216 op, 765032500.00 ns, 45.5995 ns/op +WorkloadWarmup 10: 16777216 op, 761000800.00 ns, 45.3592 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 759542600.00 ns, 45.2723 ns/op +WorkloadActual 2: 16777216 op, 763109400.00 ns, 45.4849 ns/op +WorkloadActual 3: 16777216 op, 762455100.00 ns, 45.4459 ns/op +WorkloadActual 4: 16777216 op, 762608100.00 ns, 45.4550 ns/op +WorkloadActual 5: 16777216 op, 765164000.00 ns, 45.6073 ns/op +WorkloadActual 6: 16777216 op, 763605600.00 ns, 45.5144 ns/op +WorkloadActual 7: 16777216 op, 762167900.00 ns, 45.4287 ns/op +WorkloadActual 8: 16777216 op, 764998900.00 ns, 45.5975 ns/op +WorkloadActual 9: 16777216 op, 762442000.00 ns, 45.4451 ns/op +WorkloadActual 10: 16777216 op, 762678800.00 ns, 45.4592 ns/op +WorkloadActual 11: 16777216 op, 761450400.00 ns, 45.3860 ns/op +WorkloadActual 12: 16777216 op, 761701100.00 ns, 45.4009 ns/op +WorkloadActual 13: 16777216 op, 762073200.00 ns, 45.4231 ns/op +WorkloadActual 14: 16777216 op, 762307000.00 ns, 45.4370 ns/op +WorkloadActual 15: 16777216 op, 762488300.00 ns, 45.4478 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 742716000.00 ns, 44.2693 ns/op +WorkloadResult 2: 16777216 op, 746282800.00 ns, 44.4819 ns/op +WorkloadResult 3: 16777216 op, 745628500.00 ns, 44.4429 ns/op +WorkloadResult 4: 16777216 op, 745781500.00 ns, 44.4520 ns/op +WorkloadResult 5: 16777216 op, 746779000.00 ns, 44.5115 ns/op +WorkloadResult 6: 16777216 op, 745341300.00 ns, 44.4258 ns/op +WorkloadResult 7: 16777216 op, 745615400.00 ns, 44.4421 ns/op +WorkloadResult 8: 16777216 op, 745852200.00 ns, 44.4563 ns/op +WorkloadResult 9: 16777216 op, 744623800.00 ns, 44.3830 ns/op +WorkloadResult 10: 16777216 op, 744874500.00 ns, 44.3980 ns/op +WorkloadResult 11: 16777216 op, 745246600.00 ns, 44.4202 ns/op +WorkloadResult 12: 16777216 op, 745480400.00 ns, 44.4341 ns/op +WorkloadResult 13: 16777216 op, 745661700.00 ns, 44.4449 ns/op +// GC: 2802 11 0 17636332896 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 115560 has exited with code 0. + +Mean = 44.428 ns, StdErr = 0.016 ns (0.04%), N = 13, StdDev = 0.058 ns +Min = 44.269 ns, Q1 = 44.420 ns, Median = 44.442 ns, Q3 = 44.452 ns, Max = 44.511 ns +IQR = 0.032 ns, LowerFence = 44.372 ns, UpperFence = 44.500 ns +ConfidenceInterval = [44.359 ns; 44.497 ns] (CI 99.9%), Margin = 0.069 ns (0.16% of Mean) +Skewness = -1.31, Kurtosis = 4.77, MValue = 2 + +// ** Remained 1 (3.8%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2648 2928 --benchmarkName "BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison.NewArrayBlockCopy(ArraySize: 1024)" --job ".NET Framework 4.8.1" --benchmarkId 12 in +// BeforeAnythingElse + +// Wrong assembly binding redirects for System.Numerics.Vectors, loading it from disk anyway. +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1 + +OverheadJitting 1: 1 op, 122400.00 ns, 122.4000 us/op +WorkloadJitting 1: 1 op, 116000.00 ns, 116.0000 us/op + +OverheadJitting 2: 16 op, 124300.00 ns, 7.7688 us/op +WorkloadJitting 2: 16 op, 121200.00 ns, 7.5750 us/op + +WorkloadPilot 1: 16 op, 3000.00 ns, 187.5000 ns/op +WorkloadPilot 2: 32 op, 3200.00 ns, 100.0000 ns/op +WorkloadPilot 3: 64 op, 4200.00 ns, 65.6250 ns/op +WorkloadPilot 4: 128 op, 27800.00 ns, 217.1875 ns/op +WorkloadPilot 5: 256 op, 10400.00 ns, 40.6250 ns/op +WorkloadPilot 6: 512 op, 136400.00 ns, 266.4063 ns/op +WorkloadPilot 7: 1024 op, 182400.00 ns, 178.1250 ns/op +WorkloadPilot 8: 2048 op, 360000.00 ns, 175.7813 ns/op +WorkloadPilot 9: 4096 op, 710900.00 ns, 173.5596 ns/op +WorkloadPilot 10: 8192 op, 887600.00 ns, 108.3496 ns/op +WorkloadPilot 11: 16384 op, 673500.00 ns, 41.1072 ns/op +WorkloadPilot 12: 32768 op, 1220600.00 ns, 37.2498 ns/op +WorkloadPilot 13: 65536 op, 2369000.00 ns, 36.1481 ns/op +WorkloadPilot 14: 131072 op, 4744800.00 ns, 36.2000 ns/op +WorkloadPilot 15: 262144 op, 9461400.00 ns, 36.0924 ns/op +WorkloadPilot 16: 524288 op, 19204000.00 ns, 36.6287 ns/op +WorkloadPilot 17: 1048576 op, 37917600.00 ns, 36.1610 ns/op +WorkloadPilot 18: 2097152 op, 75657300.00 ns, 36.0762 ns/op +WorkloadPilot 19: 4194304 op, 150716800.00 ns, 35.9337 ns/op +WorkloadPilot 20: 8388608 op, 301964600.00 ns, 35.9970 ns/op +WorkloadPilot 21: 16777216 op, 611446100.00 ns, 36.4450 ns/op + +OverheadWarmup 1: 16777216 op, 16940800.00 ns, 1.0098 ns/op +OverheadWarmup 2: 16777216 op, 15860800.00 ns, 0.9454 ns/op +OverheadWarmup 3: 16777216 op, 15932900.00 ns, 0.9497 ns/op +OverheadWarmup 4: 16777216 op, 16888300.00 ns, 1.0066 ns/op +OverheadWarmup 5: 16777216 op, 16725200.00 ns, 0.9969 ns/op +OverheadWarmup 6: 16777216 op, 16600500.00 ns, 0.9895 ns/op +OverheadWarmup 7: 16777216 op, 16190700.00 ns, 0.9650 ns/op +OverheadWarmup 8: 16777216 op, 16586700.00 ns, 0.9886 ns/op +OverheadWarmup 9: 16777216 op, 15916200.00 ns, 0.9487 ns/op + +OverheadActual 1: 16777216 op, 15842100.00 ns, 0.9443 ns/op +OverheadActual 2: 16777216 op, 16747900.00 ns, 0.9983 ns/op +OverheadActual 3: 16777216 op, 16258700.00 ns, 0.9691 ns/op +OverheadActual 4: 16777216 op, 16032800.00 ns, 0.9556 ns/op +OverheadActual 5: 16777216 op, 16275700.00 ns, 0.9701 ns/op +OverheadActual 6: 16777216 op, 15794500.00 ns, 0.9414 ns/op +OverheadActual 7: 16777216 op, 15652400.00 ns, 0.9330 ns/op +OverheadActual 8: 16777216 op, 16544500.00 ns, 0.9861 ns/op +OverheadActual 9: 16777216 op, 15755700.00 ns, 0.9391 ns/op +OverheadActual 10: 16777216 op, 16290100.00 ns, 0.9710 ns/op +OverheadActual 11: 16777216 op, 15821300.00 ns, 0.9430 ns/op +OverheadActual 12: 16777216 op, 16129000.00 ns, 0.9614 ns/op +OverheadActual 13: 16777216 op, 16624200.00 ns, 0.9909 ns/op +OverheadActual 14: 16777216 op, 16503500.00 ns, 0.9837 ns/op +OverheadActual 15: 16777216 op, 15816900.00 ns, 0.9428 ns/op + +WorkloadWarmup 1: 16777216 op, 608692800.00 ns, 36.2809 ns/op +WorkloadWarmup 2: 16777216 op, 611375100.00 ns, 36.4408 ns/op +WorkloadWarmup 3: 16777216 op, 605814500.00 ns, 36.1094 ns/op +WorkloadWarmup 4: 16777216 op, 605853000.00 ns, 36.1117 ns/op +WorkloadWarmup 5: 16777216 op, 608439200.00 ns, 36.2658 ns/op +WorkloadWarmup 6: 16777216 op, 605225800.00 ns, 36.0743 ns/op + +// BeforeActualRun +WorkloadActual 1: 16777216 op, 602424900.00 ns, 35.9073 ns/op +WorkloadActual 2: 16777216 op, 602228300.00 ns, 35.8956 ns/op +WorkloadActual 3: 16777216 op, 602907800.00 ns, 35.9361 ns/op +WorkloadActual 4: 16777216 op, 604970100.00 ns, 36.0590 ns/op +WorkloadActual 5: 16777216 op, 604011800.00 ns, 36.0019 ns/op +WorkloadActual 6: 16777216 op, 603432000.00 ns, 35.9674 ns/op +WorkloadActual 7: 16777216 op, 603760600.00 ns, 35.9869 ns/op +WorkloadActual 8: 16777216 op, 603651200.00 ns, 35.9804 ns/op +WorkloadActual 9: 16777216 op, 602432800.00 ns, 35.9078 ns/op +WorkloadActual 10: 16777216 op, 603343700.00 ns, 35.9621 ns/op +WorkloadActual 11: 16777216 op, 603110200.00 ns, 35.9482 ns/op +WorkloadActual 12: 16777216 op, 602549900.00 ns, 35.9148 ns/op +WorkloadActual 13: 16777216 op, 602425000.00 ns, 35.9073 ns/op +WorkloadActual 14: 16777216 op, 603873600.00 ns, 35.9937 ns/op +WorkloadActual 15: 16777216 op, 603159600.00 ns, 35.9511 ns/op + +// AfterActualRun +WorkloadResult 1: 16777216 op, 586295900.00 ns, 34.9460 ns/op +WorkloadResult 2: 16777216 op, 586099300.00 ns, 34.9342 ns/op +WorkloadResult 3: 16777216 op, 586778800.00 ns, 34.9747 ns/op +WorkloadResult 4: 16777216 op, 588841100.00 ns, 35.0977 ns/op +WorkloadResult 5: 16777216 op, 587882800.00 ns, 35.0405 ns/op +WorkloadResult 6: 16777216 op, 587303000.00 ns, 35.0060 ns/op +WorkloadResult 7: 16777216 op, 587631600.00 ns, 35.0256 ns/op +WorkloadResult 8: 16777216 op, 587522200.00 ns, 35.0191 ns/op +WorkloadResult 9: 16777216 op, 586303800.00 ns, 34.9464 ns/op +WorkloadResult 10: 16777216 op, 587214700.00 ns, 35.0007 ns/op +WorkloadResult 11: 16777216 op, 586981200.00 ns, 34.9868 ns/op +WorkloadResult 12: 16777216 op, 586420900.00 ns, 34.9534 ns/op +WorkloadResult 13: 16777216 op, 586296000.00 ns, 34.9460 ns/op +WorkloadResult 14: 16777216 op, 587744600.00 ns, 35.0323 ns/op +WorkloadResult 15: 16777216 op, 587030600.00 ns, 34.9898 ns/op +// GC: 2802 11 0 17636332896 16777216 +// Threading: 0 0 16777216 + +// AfterAll +// Benchmark Process 123004 has exited with code 0. + +Mean = 34.993 ns, StdErr = 0.012 ns (0.03%), N = 15, StdDev = 0.045 ns +Min = 34.934 ns, Q1 = 34.950 ns, Median = 34.990 ns, Q3 = 35.022 ns, Max = 35.098 ns +IQR = 0.072 ns, LowerFence = 34.841 ns, UpperFence = 35.131 ns +ConfidenceInterval = [34.945 ns; 35.042 ns] (CI 99.9%), Margin = 0.048 ns (0.14% of Mean) +Skewness = 0.55, Kurtosis = 2.49, MValue = 2 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-23 20:02 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.html + +// * Detailed results * +CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.286 ns, StdErr = 0.016 ns (0.05%), N = 14, StdDev = 0.061 ns +Min = 33.230 ns, Q1 = 33.243 ns, Median = 33.269 ns, Q3 = 33.296 ns, Max = 33.423 ns +IQR = 0.053 ns, LowerFence = 33.163 ns, UpperFence = 33.377 ns +ConfidenceInterval = [33.218 ns; 33.355 ns] (CI 99.9%), Margin = 0.069 ns (0.21% of Mean) +Skewness = 1.09, Kurtosis = 2.84, MValue = 2 +-------------------- Histogram -------------------- +[33.197 ns ; 33.456 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=16] +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 4.787 ns, StdErr = 0.019 ns (0.40%), N = 14, StdDev = 0.072 ns +Min = 4.670 ns, Q1 = 4.713 ns, Median = 4.805 ns, Q3 = 4.826 ns, Max = 4.884 ns +IQR = 0.113 ns, LowerFence = 4.543 ns, UpperFence = 4.995 ns +ConfidenceInterval = [4.706 ns; 4.868 ns] (CI 99.9%), Margin = 0.081 ns (1.69% of Mean) +Skewness = -0.23, Kurtosis = 1.54, MValue = 2 +-------------------- Histogram -------------------- +[4.659 ns ; 4.784 ns) | @@@@@ +[4.784 ns ; 4.924 ns) | @@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 18.655 ns, StdErr = 0.009 ns (0.05%), N = 13, StdDev = 0.032 ns +Min = 18.606 ns, Q1 = 18.641 ns, Median = 18.655 ns, Q3 = 18.674 ns, Max = 18.722 ns +IQR = 0.033 ns, LowerFence = 18.591 ns, UpperFence = 18.723 ns +ConfidenceInterval = [18.617 ns; 18.694 ns] (CI 99.9%), Margin = 0.038 ns (0.21% of Mean) +Skewness = 0.27, Kurtosis = 2.34, MValue = 2 +-------------------- Histogram -------------------- +[18.588 ns ; 18.740 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=16] +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 7.217 ns, StdErr = 0.006 ns (0.09%), N = 15, StdDev = 0.025 ns +Min = 7.173 ns, Q1 = 7.200 ns, Median = 7.216 ns, Q3 = 7.231 ns, Max = 7.267 ns +IQR = 0.031 ns, LowerFence = 7.154 ns, UpperFence = 7.278 ns +ConfidenceInterval = [7.190 ns; 7.243 ns] (CI 99.9%), Margin = 0.027 ns (0.37% of Mean) +Skewness = 0.27, Kurtosis = 2.2, MValue = 2 +-------------------- Histogram -------------------- +[7.160 ns ; 7.280 ns) | @@@@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.653 ns, StdErr = 0.016 ns (0.05%), N = 14, StdDev = 0.060 ns +Min = 33.514 ns, Q1 = 33.628 ns, Median = 33.658 ns, Q3 = 33.686 ns, Max = 33.743 ns +IQR = 0.058 ns, LowerFence = 33.541 ns, UpperFence = 33.773 ns +ConfidenceInterval = [33.586 ns; 33.721 ns] (CI 99.9%), Margin = 0.068 ns (0.20% of Mean) +Skewness = -0.65, Kurtosis = 2.91, MValue = 2 +-------------------- Histogram -------------------- +[33.481 ns ; 33.776 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=128] +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 7.731 ns, StdErr = 0.042 ns (0.54%), N = 18, StdDev = 0.176 ns +Min = 7.529 ns, Q1 = 7.590 ns, Median = 7.677 ns, Q3 = 7.854 ns, Max = 8.093 ns +IQR = 0.264 ns, LowerFence = 7.193 ns, UpperFence = 8.250 ns +ConfidenceInterval = [7.566 ns; 7.896 ns] (CI 99.9%), Margin = 0.165 ns (2.13% of Mean) +Skewness = 0.61, Kurtosis = 2.13, MValue = 2 +-------------------- Histogram -------------------- +[7.521 ns ; 7.698 ns) | @@@@@@@@@@ +[7.698 ns ; 7.918 ns) | @@@@@@ +[7.918 ns ; 8.182 ns) | @@ +--------------------------------------------------- + +CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 22.591 ns, StdErr = 0.010 ns (0.04%), N = 14, StdDev = 0.038 ns +Min = 22.543 ns, Q1 = 22.560 ns, Median = 22.591 ns, Q3 = 22.606 ns, Max = 22.674 ns +IQR = 0.045 ns, LowerFence = 22.492 ns, UpperFence = 22.674 ns +ConfidenceInterval = [22.549 ns; 22.634 ns] (CI 99.9%), Margin = 0.043 ns (0.19% of Mean) +Skewness = 0.71, Kurtosis = 2.51, MValue = 2 +-------------------- Histogram -------------------- +[22.522 ns ; 22.695 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=128] +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 11.276 ns, StdErr = 0.004 ns (0.04%), N = 13, StdDev = 0.014 ns +Min = 11.254 ns, Q1 = 11.265 ns, Median = 11.276 ns, Q3 = 11.282 ns, Max = 11.309 ns +IQR = 0.017 ns, LowerFence = 11.239 ns, UpperFence = 11.308 ns +ConfidenceInterval = [11.258 ns; 11.293 ns] (CI 99.9%), Margin = 0.017 ns (0.15% of Mean) +Skewness = 0.72, Kurtosis = 3, MValue = 2 +-------------------- Histogram -------------------- +[11.246 ns ; 11.317 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.ArrayClone: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 50.312 ns, StdErr = 0.093 ns (0.18%), N = 13, StdDev = 0.334 ns +Min = 49.873 ns, Q1 = 50.129 ns, Median = 50.175 ns, Q3 = 50.478 ns, Max = 51.037 ns +IQR = 0.349 ns, LowerFence = 49.606 ns, UpperFence = 51.001 ns +ConfidenceInterval = [49.913 ns; 50.712 ns] (CI 99.9%), Margin = 0.399 ns (0.79% of Mean) +Skewness = 0.96, Kurtosis = 2.73, MValue = 2 +-------------------- Histogram -------------------- +[49.803 ns ; 51.223 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0(Runtime=.NET 10.0) [ArraySize=1024] +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 33.917 ns, StdErr = 0.091 ns (0.27%), N = 15, StdDev = 0.353 ns +Min = 33.561 ns, Q1 = 33.620 ns, Median = 33.806 ns, Q3 = 34.137 ns, Max = 34.861 ns +IQR = 0.517 ns, LowerFence = 32.844 ns, UpperFence = 34.912 ns +ConfidenceInterval = [33.539 ns; 34.294 ns] (CI 99.9%), Margin = 0.377 ns (1.11% of Mean) +Skewness = 1.07, Kurtosis = 3.72, MValue = 2 +-------------------- Histogram -------------------- +[33.373 ns ; 35.049 ns) | @@@@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 44.428 ns, StdErr = 0.016 ns (0.04%), N = 13, StdDev = 0.058 ns +Min = 44.269 ns, Q1 = 44.420 ns, Median = 44.442 ns, Q3 = 44.452 ns, Max = 44.511 ns +IQR = 0.032 ns, LowerFence = 44.372 ns, UpperFence = 44.500 ns +ConfidenceInterval = [44.359 ns; 44.497 ns] (CI 99.9%), Margin = 0.069 ns (0.16% of Mean) +Skewness = -1.31, Kurtosis = 4.77, MValue = 2 +-------------------- Histogram -------------------- +[44.237 ns ; 44.544 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1) [ArraySize=1024] +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 34.993 ns, StdErr = 0.012 ns (0.03%), N = 15, StdDev = 0.045 ns +Min = 34.934 ns, Q1 = 34.950 ns, Median = 34.990 ns, Q3 = 35.022 ns, Max = 35.098 ns +IQR = 0.072 ns, LowerFence = 34.841 ns, UpperFence = 35.131 ns +ConfidenceInterval = [34.945 ns; 35.042 ns] (CI 99.9%), Margin = 0.048 ns (0.14% of Mean) +Skewness = 0.55, Kurtosis = 2.49, MValue = 2 +-------------------- Histogram -------------------- +[34.910 ns ; 35.122 ns) | @@@@@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + + +| Method | Job | Runtime | ArraySize | Mean | Ratio | Gen0 | Gen1 | Allocated | Alloc Ratio | +|------------------ |--------------------- |--------------------- |---------- |----------:|------:|-------:|-------:|----------:|------------:| +| ArrayClone | .NET 10.0 | .NET 10.0 | 16 | 33.286 ns | 1.00 | 0.0021 | - | 40 B | 1.00 | +| NewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 16 | 4.787 ns | 0.14 | 0.0021 | - | 40 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 16 | 18.655 ns | 1.00 | 0.0063 | - | 40 B | 1.00 | +| NewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 16 | 7.217 ns | 0.39 | 0.0064 | - | 40 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET 10.0 | .NET 10.0 | 128 | 33.653 ns | 1.00 | 0.0080 | - | 152 B | 1.00 | +| NewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 128 | 7.731 ns | 0.23 | 0.0081 | - | 152 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 128 | 22.591 ns | 1.00 | 0.0242 | - | 152 B | 1.00 | +| NewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 128 | 11.276 ns | 0.50 | 0.0242 | - | 152 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET 10.0 | .NET 10.0 | 1024 | 50.312 ns | 1.00 | 0.0555 | 0.0002 | 1048 B | 1.00 | +| NewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 1024 | 33.917 ns | 0.67 | 0.0557 | 0.0002 | 1048 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1024 | 44.428 ns | 1.00 | 0.1670 | 0.0007 | 1051 B | 1.00 | +| NewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1024 | 34.993 ns | 0.79 | 0.1670 | 0.0007 | 1051 B | 1.00 | + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev +Outliers + CloneImplementationComparison.ArrayClone: .NET 10.0 -> 1 outlier was removed (35.19 ns) + CloneImplementationComparison.NewArrayBlockCopy: .NET 10.0 -> 2 outliers were removed (6.15 ns, 6.18 ns) + CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1 -> 2 outliers were removed (19.83 ns, 19.88 ns) + CloneImplementationComparison.ArrayClone: .NET 10.0 -> 1 outlier was removed, 2 outliers were detected (34.94 ns, 35.33 ns) + CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1 -> 1 outlier was removed (23.73 ns) + CloneImplementationComparison.NewArrayBlockCopy: .NET Framework 4.8.1 -> 2 outliers were removed (12.49 ns, 12.86 ns) + CloneImplementationComparison.ArrayClone: .NET 10.0 -> 2 outliers were removed (52.61 ns, 53.27 ns) + CloneImplementationComparison.ArrayClone: .NET Framework 4.8.1 -> 2 outliers were removed, 3 outliers were detected (45.27 ns, 45.60 ns, 45.61 ns) + +// * Legends * + ArraySize : Value of the 'ArraySize' parameter + Mean : Arithmetic mean of all measurements + Ratio : Mean of the ratio distribution ([Current]/[Baseline]) + Gen0 : GC Generation 0 collects per 1000 operations + Gen1 : GC Generation 1 collects per 1000 operations + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + Alloc Ratio : Allocated memory ratio distribution ([Current]/[Baseline]) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:03:50 (230.67 sec), executed benchmarks: 12 + +Global total time: 00:09:49 (589.28 sec), executed benchmarks: 26 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182348.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182348.log new file mode 100644 index 000000000..36fdea9a0 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182348.log @@ -0,0 +1,347 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 1 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.97 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.36 sec and exited with 0 +// ***** Done, took 00:00:08 (8.37 sec) ***** +// Found 1 benchmarks: +// AesEngineBenchmarks.Init: Job-CNUJVU(InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: Job-CNUJVU(InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1972 1964 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job "InvocationCount=1, UnrollFactor=1" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: Job-CNUJVU(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 77100.00 ns, 77.1000 us/op +WorkloadJitting 1: 1 op, 1072700.00 ns, 1.0727 ms/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 16: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadWarmup 2: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 3: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadWarmup 4: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 5: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 6: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 7: 1 op, 1200.00 ns, 1.2000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 2: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 3: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 5: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 6: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 7: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 8: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 9: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 10: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 11: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 12: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 13: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 14: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 15: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 16: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 17: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 18: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 19: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 20: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 22: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 23: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 24: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 25: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 26: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 27: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 28: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 29: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 30: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 31: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 32: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 35: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 36: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 37: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 38: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 41: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 43: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 44: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 47: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 48: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 49: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 51: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 53: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 54: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 56: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 59: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 60: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 61: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 62: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 63: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 64: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 65: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 66: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 67: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 68: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 70: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 71: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 72: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 73: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 74: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 75: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 76: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 78: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 80: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 82: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 83: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 84: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 85: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 87: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 88: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 89: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 90: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 91: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 92: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 93: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 94: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 95: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 96: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 97: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 98: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 99: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 100: 1 op, 1300.00 ns, 1.3000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 2: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 3: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 5: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 6: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 7: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 8: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 9: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 10: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 11: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 12: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 13: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 14: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 15: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 16: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 17: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 18: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 19: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 20: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 21: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 23: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 24: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 25: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 26: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 27: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 28: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 29: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 30: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 31: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 33: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 35: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 38: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 40: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 41: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 42: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 43: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 46: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 47: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 50: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 51: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 52: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 54: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 55: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 59: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 60: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 61: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 62: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 63: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 64: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 65: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 66: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 67: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 69: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 70: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 72: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 74: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 75: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 77: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 79: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 81: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 82: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 84: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 85: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 86: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 87: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 89: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 90: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 91: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 92: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 95: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 97: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 98: 1 op, 1200.00 ns, 1.2000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 118180 has exited with code 0. + +Mean = 1.452 μs, StdErr = 0.032 μs (2.21%), N = 98, StdDev = 0.318 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.343 μs; 1.561 μs] (CI 99.9%), Margin = 0.109 μs (7.51% of Mean) +Skewness = 0.98, Kurtosis = 2.87, MValue = 2.93 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:23 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: Job-CNUJVU(InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.452 μs, StdErr = 0.032 μs (2.21%), N = 98, StdDev = 0.318 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.343 μs; 1.561 μs] (CI 99.9%), Margin = 0.109 μs (7.51% of Mean) +Skewness = 0.98, Kurtosis = 2.87, MValue = 2.93 +-------------------- Histogram -------------------- +[0.959 μs ; 1.159 μs) | @@@@@@@@@ +[1.159 μs ; 1.341 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.341 μs ; 1.459 μs) | @@@@@@@ +[1.459 μs ; 1.659 μs) | @@@@@@@@@@@@@@@@@@@@@ +[1.659 μs ; 1.859 μs) | @@@@ +[1.859 μs ; 2.059 μs) | @@@@@@@ +[2.059 μs ; 2.241 μs) | @@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + Job-CNUJVU : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + +InvocationCount=1 UnrollFactor=1 + +| Method | Mean | Error | StdDev | Median | Allocated | +|------- |---------:|----------:|----------:|---------:|----------:| +| Init | 1.452 μs | 0.1090 μs | 0.3179 μs | 1.300 μs | 832 B | + +// * Warnings * +MinIterationTime + AesEngineBenchmarks.Init: InvocationCount=1, UnrollFactor=1 -> The minimum observed iteration time is 1.1μs which is very small. It's recommended to increase it to at least 100ms using more operations. +MultimodalDistribution + AesEngineBenchmarks.Init: InvocationCount=1, UnrollFactor=1 -> It seems that the distribution can have several modes (mValue = 2.93) + +// * Hints * +Outliers + AesEngineBenchmarks.Init: InvocationCount=1, UnrollFactor=1 -> 2 outliers were removed (2.40 μs, 2.40 μs) + +// * Legends * + Mean : Arithmetic mean of all measurements + Error : Half of 99.9% confidence interval + StdDev : Standard deviation of all measurements + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 μs : 1 Microsecond (0.000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:00 (0.36 sec), executed benchmarks: 1 + +Global total time: 00:00:10 (10.56 sec), executed benchmarks: 1 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182538.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182538.log new file mode 100644 index 000000000..ba8f187bc --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182538.log @@ -0,0 +1,382 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 2 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.95 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.28 sec and exited with 0 +// ***** Done, took 00:00:08 (8.28 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.96 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 3.83 sec and exited with 1 +// ***** Done, took 00:00:04 (4.81 sec) ***** +// Found 2 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1920 1940 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 75400.00 ns, 75.4000 us/op +WorkloadJitting 1: 1 op, 1069800.00 ns, 1.0698 ms/op + +OverheadWarmup 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadWarmup 2: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadWarmup 3: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 4: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadWarmup 5: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 6: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadWarmup 7: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 8: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 9: 1 op, 1300.00 ns, 1.3000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 2: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 3: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 4: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 5: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 7: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 8: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 9: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 10: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 11: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 12: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 13: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 14: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 15: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 16: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 17: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 18: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 19: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 20: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 22: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 23: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 24: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 25: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 26: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 27: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 28: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 29: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 30: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 31: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 32: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 33: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 34: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 35: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 36: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 37: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 38: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 40: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 41: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 42: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 49: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 51: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 55: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 56: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 57: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 61: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 62: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 70: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 71: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 72: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 73: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 74: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 75: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 76: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 79: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 81: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 82: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 83: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 84: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 85: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 86: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 87: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 88: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 89: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 90: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 91: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 92: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 94: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 95: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 98: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 99: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 100: 1 op, 1500.00 ns, 1.5000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 2: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 3: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 4: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 5: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 6: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 7: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 8: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 9: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 10: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 11: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 12: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 13: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 14: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 15: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 16: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 17: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 18: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 19: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 21: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 23: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 24: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 25: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 26: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 27: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 28: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 29: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 30: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 31: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 32: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 34: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 35: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 37: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 38: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 39: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 41: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 42: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 43: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 46: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 47: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 48: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 50: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 51: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 55: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 60: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 63: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 65: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 68: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 69: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 70: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 71: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 72: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 73: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 74: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 75: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 77: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 80: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 82: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 85: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 86: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 88: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 89: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 90: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 91: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 92: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 94: 1 op, 1400.00 ns, 1.4000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 63416 has exited with code 0. + +Mean = 1.367 μs, StdErr = 0.025 μs (1.80%), N = 94, StdDev = 0.238 μs +Min = 1.100 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.475 μs, Max = 2.000 μs +IQR = 0.275 μs, LowerFence = 0.787 μs, UpperFence = 1.887 μs +ConfidenceInterval = [1.283 μs; 1.451 μs] (CI 99.9%), Margin = 0.084 μs (6.11% of Mean) +Skewness = 1.05, Kurtosis = 3.28, MValue = 4.4 + +// ** Remained 1 (50.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:25 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// Build Error: Standard output: + + Standard error: + D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] + BouncyCastle.Crypto -> D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Cryptography.dll +CSC : error CS8630: Invalid 'nullable' value: 'Enable' for C# 7.3. Please use language version '8.0' or greater. [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] +Build FAILED. +D:\.nuget\microsoft.build.tasks.git\8.0.0\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Repository 'D:\repos\bcgit\bc-csharp' does not have the specified remote 'public'; using 'origin' instead. [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +D:\repos\bcgit\bc-csharp\crypto\src\asn1\ua\Dstu4145Params.cs(82,36): warning CS0219: The variable 'pos' is assigned but its value is never used [D:\repos\bcgit\bc-csharp\crypto\src\BouncyCastle.Crypto.csproj::TargetFramework=net461] +CSC : error CS8630: Invalid 'nullable' value: 'Enable' for C# 7.3. Please use language version '8.0' or greater. [D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\BouncyCastle.Crypto.Benchmarks.csproj::TargetFramework=net481] + 2 Warning(s) + 1 Error(s) +Time Elapsed 00:00:03.67 + +// BenchmarkDotNet has failed to build the auto-generated boilerplate code. +// It can be found in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// Please follow the troubleshooting guide: https://benchmarkdotnet.org/articles/guides/troubleshooting.html + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:25 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.367 μs, StdErr = 0.025 μs (1.80%), N = 94, StdDev = 0.238 μs +Min = 1.100 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.475 μs, Max = 2.000 μs +IQR = 0.275 μs, LowerFence = 0.787 μs, UpperFence = 1.887 μs +ConfidenceInterval = [1.283 μs; 1.451 μs] (CI 99.9%), Margin = 0.084 μs (6.11% of Mean) +Skewness = 1.05, Kurtosis = 3.28, MValue = 4.4 +-------------------- Histogram -------------------- +[1.031 μs ; 1.181 μs) | @@@@@@@@@@@@@@ +[1.181 μs ; 1.319 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.319 μs ; 1.381 μs) | +[1.381 μs ; 1.519 μs) | @@@@@@@@@@@@@@@@@@@@@ +[1.519 μs ; 1.581 μs) | +[1.581 μs ; 1.719 μs) | @@@@@@@@@@ +[1.719 μs ; 1.781 μs) | +[1.781 μs ; 1.919 μs) | @@@@@@ +[1.919 μs ; 2.069 μs) | @@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = ; GC = +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Error | StdDev | Median | Allocated | +|------- |--------------------- |--------------------- |---------:|----------:|----------:|---------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 1.367 μs | 0.0836 μs | 0.2384 μs | 1.300 μs | 832 B | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | NA | NA | NA | NA | + +Benchmarks with issues: + AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 4.4) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1.2μs which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 6 outliers were removed (2.20 μs..2.50 μs) + +// * Legends * + Mean : Arithmetic mean of all measurements + Error : Half of 99.9% confidence interval + StdDev : Standard deviation of all measurements + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 μs : 1 Microsecond (0.000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:00 (0.43 sec), executed benchmarks: 1 + +Global total time: 00:00:14 (14.21 sec), executed benchmarks: 1 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182711.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182711.log new file mode 100644 index 000000000..ada539723 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-182711.log @@ -0,0 +1,642 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 2 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.96 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.33 sec and exited with 0 +// ***** Done, took 00:00:08 (8.34 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.81 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 3.11 sec and exited with 0 +// ***** Done, took 00:00:03 (3.94 sec) ***** +// Found 2 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1504 1468 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 73000.00 ns, 73.0000 us/op +WorkloadJitting 1: 1 op, 1088700.00 ns, 1.0887 ms/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 2: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 3: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadWarmup 4: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 5: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 7: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 8: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 9: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 10: 1 op, 2100.00 ns, 2.1000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 3: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 4: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 5: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 6: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 7: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 8: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 9: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 10: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 11: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 12: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 13: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 14: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 15: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 16: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 17: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 18: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 19: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 20: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 21: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 22: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 23: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 24: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 25: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 26: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 27: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 28: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 29: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 30: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 31: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 32: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 33: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 34: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 35: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 36: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 38: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 39: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 41: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 42: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 43: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 44: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 47: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 48: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 50: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 53: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 54: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 55: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 56: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 57: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 59: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 60: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 63: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 66: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 69: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 70: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 71: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 72: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 73: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 74: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 75: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 81: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 82: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 83: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 84: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 85: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 86: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 87: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 88: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 89: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 90: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 91: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 92: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 93: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 95: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 96: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 97: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 98: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 99: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 100: 1 op, 1500.00 ns, 1.5000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 3: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 4: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 5: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 6: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 7: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 8: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 9: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 10: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 11: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 13: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 14: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 15: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 16: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 17: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 18: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 19: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 20: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 21: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 22: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 23: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 24: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 25: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 26: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 27: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 28: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 29: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 30: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 31: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 32: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 33: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 35: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 36: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 37: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 38: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 40: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 41: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 43: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 46: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 47: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 53: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 54: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 56: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 59: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 62: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 63: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 68: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 69: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 70: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 72: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 73: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 74: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 75: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 77: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 78: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 82: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 83: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 84: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 85: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 86: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 87: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 90: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 91: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 92: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 93: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 94: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 95: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 96: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 97: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 98: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 99: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 100: 1 op, 1400.00 ns, 1.4000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 113000 has exited with code 0. + +Mean = 1.422 μs, StdErr = 0.029 μs (2.03%), N = 100, StdDev = 0.289 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.324 μs; 1.520 μs] (CI 99.9%), Margin = 0.098 μs (6.89% of Mean) +Skewness = 1.03, Kurtosis = 3.23, MValue = 2.04 + +// ** Remained 1 (50.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:27 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1856 1408 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 133700.00 ns, 133.7000 us/op +WorkloadJitting 1: 1 op, 2426000.00 ns, 2.4260 ms/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadWarmup 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 3: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 4: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 5: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 6: 1 op, 1600.00 ns, 1.6000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 3: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 8: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 9: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 11: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 12: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 18: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 19: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 28: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 29: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 30: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 31: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 36: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 37: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 38: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 39: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 40: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 41: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 43: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 44: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 45: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 46: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 47: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 48: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 49: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 50: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 51: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 52: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 53: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 54: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 55: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 57: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 58: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 59: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 61: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 62: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 64: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 65: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 66: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 67: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 68: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 69: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 70: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 71: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 72: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 73: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 74: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 75: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 77: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 78: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 79: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 80: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 83: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 86: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 87: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 89: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 91: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 92: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 93: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 94: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 95: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 96: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 97: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 98: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 99: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 100: 1 op, 1500.00 ns, 1.5000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 3: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 9: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 11: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 18: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 19: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 21: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 25: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 27: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 28: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 29: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 30: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 31: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 35: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 36: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 37: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 40: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 42: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 43: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 45: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 46: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 47: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 50: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 51: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 52: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 53: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 55: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 56: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 57: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 59: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 60: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 62: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 63: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 64: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 65: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 66: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 67: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 68: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 70: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 71: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 72: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 73: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 74: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 75: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 78: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 79: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 81: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 83: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 84: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 85: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 86: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 87: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 88: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 89: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 90: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 91: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 92: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 93: 1 op, 1400.00 ns, 1.4000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 116824 has exited with code 0. + +Mean = 1.208 μs, StdErr = 0.052 μs (4.29%), N = 93, StdDev = 0.499 μs +Min = 0.400 μs, Q1 = 0.800 μs, Median = 1.200 μs, Q3 = 1.500 μs, Max = 2.500 μs +IQR = 0.700 μs, LowerFence = -0.250 μs, UpperFence = 2.550 μs +ConfidenceInterval = [1.031 μs; 1.384 μs] (CI 99.9%), Margin = 0.176 μs (14.58% of Mean) +Skewness = 0.75, Kurtosis = 2.94, MValue = 3.68 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:27 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.422 μs, StdErr = 0.029 μs (2.03%), N = 100, StdDev = 0.289 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.324 μs; 1.520 μs] (CI 99.9%), Margin = 0.098 μs (6.89% of Mean) +Skewness = 1.03, Kurtosis = 3.23, MValue = 2.04 +-------------------- Histogram -------------------- +[0.968 μs ; 1.168 μs) | @@@@@@@@@ +[1.168 μs ; 1.332 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.332 μs ; 1.532 μs) | @@@@@@@@@@@@@@@@@@ +[1.532 μs ; 1.732 μs) | @@@@@@@@@@@@ +[1.732 μs ; 1.932 μs) | @@@@@@ +[1.932 μs ; 2.132 μs) | @@@@@@@ +[2.132 μs ; 2.282 μs) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.208 μs, StdErr = 0.052 μs (4.29%), N = 93, StdDev = 0.499 μs +Min = 0.400 μs, Q1 = 0.800 μs, Median = 1.200 μs, Q3 = 1.500 μs, Max = 2.500 μs +IQR = 0.700 μs, LowerFence = -0.250 μs, UpperFence = 2.550 μs +ConfidenceInterval = [1.031 μs; 1.384 μs] (CI 99.9%), Margin = 0.176 μs (14.58% of Mean) +Skewness = 0.75, Kurtosis = 2.94, MValue = 3.68 +-------------------- Histogram -------------------- +[0.355 μs ; 0.655 μs) | @@@@@@@ +[0.655 μs ; 0.945 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.945 μs ; 1.055 μs) | @ +[1.055 μs ; 1.355 μs) | @@@@@@@@@@@@@@@@@ +[1.355 μs ; 1.645 μs) | @@@@@@@@@@@@@@@@@@@@@@@@ +[1.645 μs ; 1.955 μs) | @@@ +[1.955 μs ; 2.245 μs) | @@@@@@ +[2.245 μs ; 2.545 μs) | @@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Error | StdDev | Median | Allocated | +|------- |--------------------- |--------------------- |---------:|----------:|----------:|---------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 1.422 μs | 0.0980 μs | 0.2891 μs | 1.300 μs | 832 B | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1.208 μs | 0.1760 μs | 0.4994 μs | 1.200 μs | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.68) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1.1μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 500ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +Outliers + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 7 outliers were removed (2.70 μs..3.00 μs) + +// * Legends * + Mean : Arithmetic mean of all measurements + Error : Half of 99.9% confidence interval + StdDev : Standard deviation of all measurements + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 μs : 1 Microsecond (0.000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:00 (0.88 sec), executed benchmarks: 2 + +Global total time: 00:00:13 (13.89 sec), executed benchmarks: 2 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183611.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183611.log new file mode 100644 index 000000000..49ed5eb4f --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183611.log @@ -0,0 +1,724 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.96 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.34 sec and exited with 0 +// ***** Done, took 00:00:08 (8.34 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.97 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.56 sec and exited with 0 +// ***** Done, took 00:00:06 (6.55 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1952 1948 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 111700.00 ns, 111.7000 us/op +WorkloadJitting 1: 1 op, 120300.00 ns, 120.3000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadWarmup 2: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadWarmup 3: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 4: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 5: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadWarmup 6: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 7: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadWarmup 8: 1 op, 1500.00 ns, 1.5000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 2: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 3: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 5: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 6: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 7: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 8: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 9: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 10: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 11: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 13: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 14: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 15: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 16: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 17: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 18: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 19: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 20: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 21: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 22: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 23: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 24: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 25: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 26: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 27: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 28: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 29: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 30: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 31: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 32: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 35: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 36: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 38: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 39: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 40: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 41: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 43: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 44: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 47: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 48: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 49: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 50: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 53: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 55: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 66: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 69: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 70: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 71: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 72: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 73: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 74: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 75: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 76: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 77: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 78: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 80: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 83: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 85: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 88: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 89: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 90: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 91: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 95: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 98: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 99: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 100: 1 op, 1500.00 ns, 1.5000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 2: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 3: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 4: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 5: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 6: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 8: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 9: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 10: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 11: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 12: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 13: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 14: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 15: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 16: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 17: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 18: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 19: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 21: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 23: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 24: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 25: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 26: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 27: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 28: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 29: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 30: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 31: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 32: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 33: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 35: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 36: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 38: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 39: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 40: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 41: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 42: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 43: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 44: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 45: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 46: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 49: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 50: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 56: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 59: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 60: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 62: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 63: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 64: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 65: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 68: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 69: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 70: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 71: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 72: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 73: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 74: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 75: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 76: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 77: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 78: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 79: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 83: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 84: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 85: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 86: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 88: 1 op, 1400.00 ns, 1.4000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 65468 has exited with code 0. + +Mean = 1.290 μs, StdErr = 0.024 μs (1.83%), N = 88, StdDev = 0.221 μs +Min = 1.000 μs, Q1 = 1.100 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 1.900 μs +IQR = 0.300 μs, LowerFence = 0.650 μs, UpperFence = 1.850 μs +ConfidenceInterval = [1.209 μs; 1.370 μs] (CI 99.9%), Margin = 0.080 μs (6.23% of Mean) +Skewness = 1.08, Kurtosis = 3.8, MValue = 4.25 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:36 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1724 1516 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 81600.00 ns, 81.6000 us/op + +System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. + ---> System.InvalidOperationException: AES engine not initialised + at Org.BouncyCastle.Crypto.Engines.AesEngine.ProcessBlock(Byte[] input, Int32 inOff, Byte[] output, Int32 outOff) in D:\repos\bcgit\bc-csharp\crypto\src\crypto\engines\AesEngine.cs:line 480 + at BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock() in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\AesEngineBenchmarks.cs:line 40 + at BenchmarkDotNet.Autogenerated.Runnable_1.WorkloadActionUnroll(Int64 invokeCount) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\BouncyCastle.Crypto.Benchmarks-1.notcs:line 437 + at BenchmarkDotNet.Engines.Engine.Measure(Action`1 action, Int64 invokeCount) + at BenchmarkDotNet.Engines.Engine.RunIteration(IterationData data) + at BenchmarkDotNet.Engines.EngineFactory.Jit(Engine engine, Int32 jitIndex, Int32 invokeCount, Int32 unrollFactor) + at BenchmarkDotNet.Engines.EngineFactory.CreateReadyToRun(EngineParameters engineParameters) + at BenchmarkDotNet.Autogenerated.Runnable_1.Run(IHost host, String benchmarkName) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\BouncyCastle.Crypto.Benchmarks-1.notcs:line 342 + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr) + --- End of inner exception stack trace --- + at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr) + at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) + at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) + at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) + at BenchmarkDotNet.Autogenerated.UniqueProgramName.AfterAssemblyLoadingAttached(String[] args) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\BouncyCastle.Crypto.Benchmarks-1.notcs:line 57 +// AfterAll +No Workload Results were obtained from the run. +// Benchmark Process 120424 has exited with code -1. + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:36 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1516 1824 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 125500.00 ns, 125.5000 us/op +WorkloadJitting 1: 1 op, 100900.00 ns, 100.9000 us/op + +OverheadWarmup 1: 1 op, 1000.00 ns, 1.0000 us/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 2: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 3: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 7: 1 op, 1000.00 ns, 1.0000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 14: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 21: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 36: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 42: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 45: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 46: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 47: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 48: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 49: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 51: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 53: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 55: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 56: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 59: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 60: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 65: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 66: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 70: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 71: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 72: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 74: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 75: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 76: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 77: 1 op, 4200.00 ns, 4.2000 us/op +WorkloadActual 78: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 79: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 80: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 82: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 83: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 84: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 85: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 86: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 87: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 88: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 89: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 90: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 91: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 94: 1 op, 3300.00 ns, 3.3000 us/op +WorkloadActual 95: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 96: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 97: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 98: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 99: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 100: 1 op, 1400.00 ns, 1.4000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 3: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 18: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 20: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 21: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 25: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 33: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 34: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 42: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 43: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 44: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 46: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 47: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 48: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 49: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 50: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 51: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 52: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 53: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 62: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 63: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 69: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 70: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 73: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 74: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 75: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 76: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 77: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 78: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 80: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 81: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 84: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 85: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 86: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 88: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 90: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 91: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 94: 1 op, 1300.00 ns, 1.3000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 50016 has exited with code 0. + +Mean = 1.176 μs, StdErr = 0.053 μs (4.48%), N = 94, StdDev = 0.511 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.700 μs +IQR = 0.700 μs, LowerFence = -0.350 μs, UpperFence = 2.450 μs +ConfidenceInterval = [0.997 μs; 1.355 μs] (CI 99.9%), Margin = 0.179 μs (15.23% of Mean) +Skewness = 0.91, Kurtosis = 3.37, MValue = 3.58 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:36 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1464 1828 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 127200.00 ns, 127.2000 us/op + +System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: AES engine not initialised + at Org.BouncyCastle.Crypto.Engines.AesEngine.ProcessBlock(Byte[] input, Int32 inOff, Byte[] output, Int32 outOff) in D:\repos\bcgit\bc-csharp\crypto\src\crypto\engines\AesEngine.cs:line 482 + at BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock() in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\AesEngineBenchmarks.cs:line 45 + at BenchmarkDotNet.Autogenerated.Runnable_1.WorkloadActionUnroll(Int64 invokeCount) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs:line 435 + at BenchmarkDotNet.Engines.Engine.Measure(Action`1 action, Int64 invokeCount) + at BenchmarkDotNet.Engines.Engine.RunIteration(IterationData data) + at BenchmarkDotNet.Engines.EngineFactory.Jit(Engine engine, Int32 jitIndex, Int32 invokeCount, Int32 unrollFactor) + at BenchmarkDotNet.Engines.EngineFactory.CreateReadyToRun(EngineParameters engineParameters) + at BenchmarkDotNet.Autogenerated.Runnable_1.Run(IHost host, String benchmarkName) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs:line 342 + --- End of inner exception stack trace --- + at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) + at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) + at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) + at BenchmarkDotNet.Autogenerated.UniqueProgramName.AfterAssemblyLoadingAttached(String[] args) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs:line 60 +// AfterAll +No Workload Results were obtained from the run. +// Benchmark Process 71048 has exited with code -1. + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:36 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.290 μs, StdErr = 0.024 μs (1.83%), N = 88, StdDev = 0.221 μs +Min = 1.000 μs, Q1 = 1.100 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 1.900 μs +IQR = 0.300 μs, LowerFence = 0.650 μs, UpperFence = 1.850 μs +ConfidenceInterval = [1.209 μs; 1.370 μs] (CI 99.9%), Margin = 0.080 μs (6.23% of Mean) +Skewness = 1.08, Kurtosis = 3.8, MValue = 4.25 +-------------------- Histogram -------------------- +[0.985 μs ; 1.115 μs) | @@@@@@@@@@@@@@@@@@@@@@@ +[1.115 μs ; 1.185 μs) | +[1.185 μs ; 1.315 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.315 μs ; 1.385 μs) | +[1.385 μs ; 1.515 μs) | @@@@@@@@@@@@@@@@ +[1.515 μs ; 1.646 μs) | +[1.646 μs ; 1.815 μs) | @@@@@@ +[1.815 μs ; 1.965 μs) | @@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +There are not any results runs + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.176 μs, StdErr = 0.053 μs (4.48%), N = 94, StdDev = 0.511 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.700 μs +IQR = 0.700 μs, LowerFence = -0.350 μs, UpperFence = 2.450 μs +ConfidenceInterval = [0.997 μs; 1.355 μs] (CI 99.9%), Margin = 0.179 μs (15.23% of Mean) +Skewness = 0.91, Kurtosis = 3.37, MValue = 3.58 +-------------------- Histogram -------------------- +[0.353 μs ; 0.553 μs) | @@@ +[0.553 μs ; 0.847 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.847 μs ; 1.153 μs) | @@@@@@@@@ +[1.153 μs ; 1.447 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.447 μs ; 1.747 μs) | @@@@@@@ +[1.747 μs ; 1.853 μs) | @ +[1.853 μs ; 2.147 μs) | @@@@@@@ +[2.147 μs ; 2.447 μs) | @@@ +[2.447 μs ; 2.553 μs) | +[2.553 μs ; 2.847 μs) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Median | Allocated | +|------------- |--------------------- |--------------------- |---------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 1.200 μs | 832 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | NA | NA | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1.200 μs | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | NA | + +Benchmarks with issues: + AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 4.25) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.58) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1.1μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. +Environment + Summary -> Detected error exit code from one of the benchmarks. It might be caused by following antivirus software: + - Windows Defender (windowsdefender://) +Use InProcessEmitToolchain or InProcessNoEmitToolchain to avoid new process creation. + + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Mean, Error, StdDev +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 12 outliers were removed (2.10 μs..2.50 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 6 outliers were removed (2.90 μs..4.20 μs) + +// * Legends * + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 μs : 1 Microsecond (0.000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.03 sec), executed benchmarks: 4 + +Global total time: 00:00:16 (16.65 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183650.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183650.log new file mode 100644 index 000000000..b748a1c88 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183650.log @@ -0,0 +1,719 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.97 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.25 sec and exited with 0 +// ***** Done, took 00:00:08 (8.25 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.95 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.38 sec and exited with 0 +// ***** Done, took 00:00:06 (6.35 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1384 1584 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 75800.00 ns, 75.8000 us/op +WorkloadJitting 1: 1 op, 132100.00 ns, 132.1000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 200.00 ns, 200.0000 ns/op + +WorkloadWarmup 1: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadWarmup 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 3: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 4: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 5: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 7: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadWarmup 8: 1 op, 1500.00 ns, 1.5000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 3: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 4: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 5: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 7: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 8: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 9: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 10: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 11: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 13: 1 op, 3300.00 ns, 3.3000 us/op +WorkloadActual 14: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 15: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 16: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 17: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 18: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 19: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 21: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 23: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 24: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 25: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 26: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 27: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 28: 1 op, 3400.00 ns, 3.4000 us/op +WorkloadActual 29: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 30: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 31: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 32: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 33: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 34: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 35: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 37: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 38: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 39: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 41: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 42: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 47: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 49: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 52: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 56: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 59: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 60: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 61: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 63: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 64: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 65: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 67: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 68: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 70: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 71: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 72: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 73: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 74: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 75: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 77: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 78: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 79: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 85: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 86: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 87: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 88: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 89: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 90: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 91: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 94: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 95: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 98: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 99: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 100: 1 op, 1400.00 ns, 1.4000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 2: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 5: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 8: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 9: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 10: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 11: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 12: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 13: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 14: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 15: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 16: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 17: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 18: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 19: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 21: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 22: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 23: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 24: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 25: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 26: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 27: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 28: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 29: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 30: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 31: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 33: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 35: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 36: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 38: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 39: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 40: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 41: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 42: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 43: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 46: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 47: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 48: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 49: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 50: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 52: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 58: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 59: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 69: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 70: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 71: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 72: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 73: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 74: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 75: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 79: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 80: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 81: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 82: 1 op, 1300.00 ns, 1.3000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 96888 has exited with code 0. + +Mean = 1.189 μs, StdErr = 0.013 μs (1.12%), N = 82, StdDev = 0.121 μs +Min = 1.000 μs, Q1 = 1.100 μs, Median = 1.200 μs, Q3 = 1.200 μs, Max = 1.600 μs +IQR = 0.100 μs, LowerFence = 0.950 μs, UpperFence = 1.350 μs +ConfidenceInterval = [1.144 μs; 1.235 μs] (CI 99.9%), Margin = 0.046 μs (3.83% of Mean) +Skewness = 1, Kurtosis = 4.24, MValue = 5.17 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1860 1704 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 73800.00 ns, 73.8000 us/op + +System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. + ---> Org.BouncyCastle.Crypto.OutputLengthException: output buffer too short + at Org.BouncyCastle.Crypto.Check.ThrowOutputLengthException(String message) in D:\repos\bcgit\bc-csharp\crypto\src\crypto\Check.cs:line 56 + at Org.BouncyCastle.Crypto.Check.OutputLength(Byte[] buf, Int32 off, Int32 len, String message) in D:\repos\bcgit\bc-csharp\crypto\src\crypto\Check.cs:line 31 + at Org.BouncyCastle.Crypto.Engines.AesEngine.ProcessBlock(Byte[] input, Int32 inOff, Byte[] output, Int32 outOff) in D:\repos\bcgit\bc-csharp\crypto\src\crypto\engines\AesEngine.cs:line 483 + at BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock() in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\AesEngineBenchmarks.cs:line 40 + at BenchmarkDotNet.Autogenerated.Runnable_1.WorkloadActionUnroll(Int64 invokeCount) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\BouncyCastle.Crypto.Benchmarks-1.notcs:line 437 + at BenchmarkDotNet.Engines.Engine.Measure(Action`1 action, Int64 invokeCount) + at BenchmarkDotNet.Engines.Engine.RunIteration(IterationData data) + at BenchmarkDotNet.Engines.EngineFactory.Jit(Engine engine, Int32 jitIndex, Int32 invokeCount, Int32 unrollFactor) + at BenchmarkDotNet.Engines.EngineFactory.CreateReadyToRun(EngineParameters engineParameters) + at BenchmarkDotNet.Autogenerated.Runnable_1.Run(IHost host, String benchmarkName) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\BouncyCastle.Crypto.Benchmarks-1.notcs:line 342 + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr) + --- End of inner exception stack trace --- + at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr) + at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) + at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) + at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) + at BenchmarkDotNet.Autogenerated.UniqueProgramName.AfterAssemblyLoadingAttached(String[] args) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\BouncyCastle.Crypto.Benchmarks-1.notcs:line 57 +// AfterAll +No Workload Results were obtained from the run. +// Benchmark Process 119396 has exited with code -1. + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1596 1860 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 127900.00 ns, 127.9000 us/op +WorkloadJitting 1: 1 op, 98700.00 ns, 98.7000 us/op + +OverheadWarmup 1: 1 op, 900.00 ns, 900.0000 ns/op +OverheadWarmup 2: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 3: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadWarmup 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 5: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 2: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 9: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 22: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 37: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 42: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 43: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 44: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 45: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 46: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 47: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 49: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 52: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 53: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 57: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 58: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 59: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 60: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 61: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 63: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 66: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 69: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 70: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 72: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 74: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 75: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 77: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 78: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 79: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 80: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 81: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 82: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 84: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 85: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 86: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 87: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 88: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 90: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 91: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 94: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 95: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 96: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 97: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 98: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 99: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 100: 1 op, 1500.00 ns, 1.5000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 2: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 3: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 21: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 22: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 35: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 42: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 43: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 44: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 46: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 48: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 49: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 50: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 51: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 52: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 53: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 54: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 55: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 56: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 57: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 58: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 59: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 60: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 62: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 65: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 67: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 71: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 72: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 74: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 75: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 76: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 78: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 81: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 83: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 84: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 85: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 87: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 88: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 89: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 90: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 91: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 92: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 94: 1 op, 1400.00 ns, 1.4000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 120372 has exited with code 0. + +Mean = 1.091 μs, StdErr = 0.042 μs (3.85%), N = 94, StdDev = 0.408 μs +Min = 0.600 μs, Q1 = 0.700 μs, Median = 1.000 μs, Q3 = 1.300 μs, Max = 2.200 μs +IQR = 0.600 μs, LowerFence = -0.200 μs, UpperFence = 2.200 μs +ConfidenceInterval = [0.949 μs; 1.234 μs] (CI 99.9%), Margin = 0.143 μs (13.10% of Mean) +Skewness = 0.88, Kurtosis = 2.92, MValue = 2.37 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1796 1896 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 132100.00 ns, 132.1000 us/op + +System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Org.BouncyCastle.Crypto.OutputLengthException: output buffer too short + at Org.BouncyCastle.Crypto.Check.ThrowOutputLengthException(String message) in D:\repos\bcgit\bc-csharp\crypto\src\crypto\Check.cs:line 56 + at Org.BouncyCastle.Crypto.Engines.AesEngine.ProcessBlock(Byte[] input, Int32 inOff, Byte[] output, Int32 outOff) in D:\repos\bcgit\bc-csharp\crypto\src\crypto\engines\AesEngine.cs:line 483 + at BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock() in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\AesEngineBenchmarks.cs:line 45 + at BenchmarkDotNet.Autogenerated.Runnable_1.WorkloadActionUnroll(Int64 invokeCount) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs:line 435 + at BenchmarkDotNet.Engines.Engine.Measure(Action`1 action, Int64 invokeCount) + at BenchmarkDotNet.Engines.Engine.RunIteration(IterationData data) + at BenchmarkDotNet.Engines.EngineFactory.Jit(Engine engine, Int32 jitIndex, Int32 invokeCount, Int32 unrollFactor) + at BenchmarkDotNet.Engines.EngineFactory.CreateReadyToRun(EngineParameters engineParameters) + at BenchmarkDotNet.Autogenerated.Runnable_1.Run(IHost host, String benchmarkName) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs:line 342 + --- End of inner exception stack trace --- + at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) + at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) + at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) + at BenchmarkDotNet.Autogenerated.UniqueProgramName.AfterAssemblyLoadingAttached(String[] args) in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\BouncyCastle.Crypto.Benchmarks-2.notcs:line 60 +// AfterAll +No Workload Results were obtained from the run. +// Benchmark Process 120200 has exited with code -1. + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.189 μs, StdErr = 0.013 μs (1.12%), N = 82, StdDev = 0.121 μs +Min = 1.000 μs, Q1 = 1.100 μs, Median = 1.200 μs, Q3 = 1.200 μs, Max = 1.600 μs +IQR = 0.100 μs, LowerFence = 0.950 μs, UpperFence = 1.350 μs +ConfidenceInterval = [1.144 μs; 1.235 μs] (CI 99.9%), Margin = 0.046 μs (3.83% of Mean) +Skewness = 1, Kurtosis = 4.24, MValue = 5.17 +-------------------- Histogram -------------------- +[0.964 μs ; 1.036 μs) | @@@@@@ +[1.036 μs ; 1.064 μs) | +[1.064 μs ; 1.136 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.136 μs ; 1.164 μs) | +[1.164 μs ; 1.236 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.236 μs ; 1.264 μs) | +[1.264 μs ; 1.336 μs) | @@@@@@@@@@@@ +[1.336 μs ; 1.364 μs) | +[1.364 μs ; 1.436 μs) | @@@ +[1.436 μs ; 1.536 μs) | @@@ +[1.536 μs ; 1.636 μs) | @ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +There are not any results runs + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.091 μs, StdErr = 0.042 μs (3.85%), N = 94, StdDev = 0.408 μs +Min = 0.600 μs, Q1 = 0.700 μs, Median = 1.000 μs, Q3 = 1.300 μs, Max = 2.200 μs +IQR = 0.600 μs, LowerFence = -0.200 μs, UpperFence = 2.200 μs +ConfidenceInterval = [0.949 μs; 1.234 μs] (CI 99.9%), Margin = 0.143 μs (13.10% of Mean) +Skewness = 0.88, Kurtosis = 2.92, MValue = 2.37 +-------------------- Histogram -------------------- +[0.482 μs ; 0.682 μs) | @@@@@ +[0.682 μs ; 0.982 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.982 μs ; 1.218 μs) | @@@@@@@@@@@@@@@@@@@@@@ +[1.218 μs ; 1.518 μs) | @@@@@@@@@@@@@@@@ +[1.518 μs ; 1.682 μs) | @ +[1.682 μs ; 1.918 μs) | @@@@@@@@ +[1.918 μs ; 2.218 μs) | @@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +There are not any results runs + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Allocated | +|------------- |--------------------- |--------------------- |----------:| +| Init | .NET 10.0 | .NET 10.0 | 832 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | NA | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | NA | + +Benchmarks with issues: + AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 5.17) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1.1μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 700ns which is very small. It's recommended to increase it to at least 100ms using more operations. +Environment + Summary -> Detected error exit code from one of the benchmarks. It might be caused by following antivirus software: + - Windows Defender (windowsdefender://) +Use InProcessEmitToolchain or InProcessNoEmitToolchain to avoid new process creation. + + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Mean, Error, StdDev +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 18 outliers were removed (1.80 μs..3.40 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 6 outliers were removed (2.60 μs..3.00 μs) + +// * Legends * + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.04 sec), executed benchmarks: 4 + +Global total time: 00:00:16 (16.39 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183728.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183728.log new file mode 100644 index 000000000..f848273be --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-183728.log @@ -0,0 +1,1191 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.94 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.25 sec and exited with 0 +// ***** Done, took 00:00:08 (8.23 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.02 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.5 sec and exited with 0 +// ***** Done, took 00:00:06 (6.53 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1804 1500 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 74200.00 ns, 74.2000 us/op +WorkloadJitting 1: 1 op, 117100.00 ns, 117.1000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 2: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 3: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 4: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 5: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 6: 1 op, 2500.00 ns, 2.5000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 2: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 3: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 4: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 5: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 7: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 8: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 9: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 10: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 11: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 12: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 13: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 14: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 15: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 16: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 17: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 18: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 19: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 20: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 21: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 22: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 23: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 24: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 25: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 26: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 27: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 28: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 29: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 30: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 31: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 32: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 35: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 36: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 37: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 38: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 39: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 41: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 42: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 43: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 45: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 46: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 49: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 50: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 57: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 60: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 65: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 67: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 69: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 70: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 72: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 74: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 75: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 77: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 78: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 80: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 81: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 84: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 85: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 86: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 87: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 88: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 89: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 90: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 91: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 92: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 95: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 96: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 97: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 98: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 99: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 100: 1 op, 2400.00 ns, 2.4000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 2: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 3: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 4: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 5: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 7: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 8: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 10: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 11: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 12: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 13: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 14: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 15: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 16: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 17: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 18: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 19: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 22: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 23: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 24: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 25: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 26: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 27: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 28: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 29: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 30: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 31: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 33: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 35: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 38: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 39: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 40: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 41: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 42: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 43: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 44: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 45: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 47: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 48: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 49: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 57: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 62: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 63: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 66: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 67: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 68: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 69: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 70: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 72: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 73: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 74: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 75: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 79: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 84: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 86: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 87: 1 op, 1300.00 ns, 1.3000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 36700 has exited with code 0. + +Mean = 1.274 μs, StdErr = 0.018 μs (1.39%), N = 87, StdDev = 0.165 μs +Min = 0.900 μs, Q1 = 1.150 μs, Median = 1.300 μs, Q3 = 1.400 μs, Max = 1.700 μs +IQR = 0.250 μs, LowerFence = 0.775 μs, UpperFence = 1.775 μs +ConfidenceInterval = [1.213 μs; 1.334 μs] (CI 99.9%), Margin = 0.060 μs (4.74% of Mean) +Skewness = 0.45, Kurtosis = 2.84, MValue = 2 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1816 1560 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 74400.00 ns, 74.4000 us/op +WorkloadJitting 1: 1 op, 571600.00 ns, 571.6000 us/op + +OverheadWarmup 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 300.00 ns, 300.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 13: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadWarmup 2: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadWarmup 3: 1 op, 3600.00 ns, 3.6000 us/op +WorkloadWarmup 4: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadWarmup 5: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 6: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadWarmup 7: 1 op, 1800.00 ns, 1.8000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 2: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 3: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 4: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 5: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 6: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 7: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 8: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 9: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 10: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 11: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 12: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 13: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 14: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 15: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 16: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 17: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 18: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 19: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 20: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 21: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 22: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 23: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 24: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 25: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 26: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 27: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 28: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 29: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 30: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 31: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 32: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 33: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 34: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 35: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 36: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 37: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 38: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 39: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 40: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 41: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 42: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 43: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 44: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 45: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 46: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 47: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 48: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 49: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 50: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 51: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadActual 52: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 53: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 54: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 55: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 56: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 57: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 58: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 59: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 60: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 61: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 62: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 63: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 64: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 65: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 66: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 67: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 68: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 69: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 70: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 71: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 72: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 73: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 74: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 75: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 76: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 77: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 78: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 79: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 80: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 81: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 82: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 83: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 84: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 85: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 86: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 87: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 88: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 89: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 90: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 91: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 92: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 93: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 94: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 95: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 96: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 97: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 98: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 99: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 100: 1 op, 1600.00 ns, 1.6000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 2: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 3: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 4: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 5: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 6: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 7: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 8: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 9: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 10: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 11: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 12: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 13: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 14: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 15: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 16: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 17: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 18: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 19: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 20: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 21: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 22: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 23: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 24: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 25: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 26: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 27: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 28: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 29: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 30: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 31: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 32: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 33: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 34: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 35: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 36: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 37: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 38: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 39: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 40: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 41: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 42: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 43: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 44: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 45: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 46: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 47: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 48: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 49: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 50: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 51: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 52: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 53: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 54: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 55: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 56: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 57: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 58: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 59: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 60: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 61: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 62: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 63: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 64: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 65: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 66: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 67: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 68: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 69: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 70: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 72: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 73: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 74: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 75: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 76: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 77: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 78: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 79: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 80: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 81: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 82: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 84: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 85: 1 op, 1500.00 ns, 1.5000 us/op +// GC: 0 0 0 112 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 110576 has exited with code 0. + +Mean = 1.616 μs, StdErr = 0.019 μs (1.18%), N = 85, StdDev = 0.176 μs +Min = 1.400 μs, Q1 = 1.500 μs, Median = 1.600 μs, Q3 = 1.700 μs, Max = 2.200 μs +IQR = 0.200 μs, LowerFence = 1.200 μs, UpperFence = 2.000 μs +ConfidenceInterval = [1.551 μs; 1.682 μs] (CI 99.9%), Margin = 0.065 μs (4.02% of Mean) +Skewness = 1.44, Kurtosis = 4.87, MValue = 2.21 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1536 1456 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 128300.00 ns, 128.3000 us/op +WorkloadJitting 1: 1 op, 120500.00 ns, 120.5000 us/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadWarmup 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 3: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 7: 1 op, 700.00 ns, 700.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 3: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 4: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 5: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 19: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 20: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 33: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 34: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 38: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 39: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 42: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 45: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 46: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 47: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 48: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 49: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 50: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 51: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 53: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 56: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 57: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 59: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 60: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 61: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 62: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 65: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadActual 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 67: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 69: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 70: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 73: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 74: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 75: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 76: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 77: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 78: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 79: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 80: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 81: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 83: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 84: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 85: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 86: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 87: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 88: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 89: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 90: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 91: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 92: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 93: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 94: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 95: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 96: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 97: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 98: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 99: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 100: 1 op, 1200.00 ns, 1.2000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 3: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 4: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 32: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 38: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 43: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 44: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 45: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 46: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 47: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 51: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 55: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 56: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 57: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 60: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 61: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 65: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 70: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 71: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 72: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 73: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 74: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 75: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 76: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 77: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 78: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 82: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 83: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 84: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 85: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 86: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 87: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 88: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 89: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 90: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 91: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 92: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 94: 1 op, 1100.00 ns, 1.1000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 120940 has exited with code 0. + +Mean = 1.188 μs, StdErr = 0.049 μs (4.15%), N = 94, StdDev = 0.478 μs +Min = 0.600 μs, Q1 = 0.800 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.500 μs +IQR = 0.600 μs, LowerFence = -0.100 μs, UpperFence = 2.300 μs +ConfidenceInterval = [1.021 μs; 1.356 μs] (CI 99.9%), Margin = 0.168 μs (14.11% of Mean) +Skewness = 1.08, Kurtosis = 3.82, MValue = 4.88 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1648 1504 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 129800.00 ns, 129.8000 us/op +WorkloadJitting 1: 1 op, 1972000.00 ns, 1.9720 ms/op + +OverheadWarmup 1: 1 op, 900.00 ns, 900.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 2: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 5: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 7: 1 op, 500.00 ns, 500.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 9: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 12: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 16: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 18: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 21: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 22: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 31: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 34: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 38: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 40: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 42: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 43: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 44: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 45: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 46: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 47: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 48: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 49: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 51: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 53: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 54: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 56: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 57: 1 op, 3800.00 ns, 3.8000 us/op +WorkloadActual 58: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 62: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 65: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 68: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 69: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 70: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 71: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 72: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 74: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 75: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 79: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 82: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 84: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 85: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 86: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 87: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 88: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 89: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 90: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 92: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 93: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 94: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 95: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 98: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 99: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 100: 1 op, 1000.00 ns, 1.0000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 9: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 12: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 14: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 18: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 20: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 39: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 40: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 47: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 48: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 49: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 50: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 51: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 52: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 53: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 54: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 56: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 57: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 59: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 60: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 61: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 64: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 67: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 69: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 70: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 71: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 72: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 73: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 74: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 75: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 76: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 77: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 78: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 79: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 82: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 83: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 84: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 85: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 86: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 87: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 88: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 90: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 91: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 92: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 94: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 95: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 96: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 97: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 98: 1 op, 900.00 ns, 900.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 108220 has exited with code 0. + +Mean = 907.143 ns, StdErr = 55.693 ns (6.14%), N = 98, StdDev = 551.334 ns +Min = 300.000 ns, Q1 = 400.000 ns, Median = 900.000 ns, Q3 = 1,200.000 ns, Max = 2,400.000 ns +IQR = 800.000 ns, LowerFence = -800.000 ns, UpperFence = 2,400.000 ns +ConfidenceInterval = [718.139 ns; 1,096.147 ns] (CI 99.9%), Margin = 189.004 ns (20.84% of Mean) +Skewness = 0.78, Kurtosis = 2.7, MValue = 3.85 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:37 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.274 μs, StdErr = 0.018 μs (1.39%), N = 87, StdDev = 0.165 μs +Min = 0.900 μs, Q1 = 1.150 μs, Median = 1.300 μs, Q3 = 1.400 μs, Max = 1.700 μs +IQR = 0.250 μs, LowerFence = 0.775 μs, UpperFence = 1.775 μs +ConfidenceInterval = [1.213 μs; 1.334 μs] (CI 99.9%), Margin = 0.060 μs (4.74% of Mean) +Skewness = 0.45, Kurtosis = 2.84, MValue = 2 +-------------------- Histogram -------------------- +[0.851 μs ; 0.951 μs) | @ +[0.951 μs ; 1.051 μs) | @@@ +[1.051 μs ; 1.151 μs) | @@@@@@@@@@@@@@@@@@ +[1.151 μs ; 1.249 μs) | @@@@@@@@@@@@@@@@@@@@ +[1.249 μs ; 1.349 μs) | @@@@@@@@@@@@@@@@@@@ +[1.349 μs ; 1.449 μs) | @@@@@@@@@@@@@@ +[1.449 μs ; 1.549 μs) | @@@@@@ +[1.549 μs ; 1.649 μs) | @@@@ +[1.649 μs ; 1.749 μs) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.616 μs, StdErr = 0.019 μs (1.18%), N = 85, StdDev = 0.176 μs +Min = 1.400 μs, Q1 = 1.500 μs, Median = 1.600 μs, Q3 = 1.700 μs, Max = 2.200 μs +IQR = 0.200 μs, LowerFence = 1.200 μs, UpperFence = 2.000 μs +ConfidenceInterval = [1.551 μs; 1.682 μs] (CI 99.9%), Margin = 0.065 μs (4.02% of Mean) +Skewness = 1.44, Kurtosis = 4.87, MValue = 2.21 +-------------------- Histogram -------------------- +[1.348 μs ; 1.452 μs) | @@@@@@@@ +[1.452 μs ; 1.498 μs) | +[1.498 μs ; 1.602 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.602 μs ; 1.698 μs) | +[1.698 μs ; 1.802 μs) | @@@@@@@@@@@@@@@ +[1.802 μs ; 1.848 μs) | +[1.848 μs ; 1.952 μs) | @ +[1.952 μs ; 1.998 μs) | +[1.998 μs ; 2.102 μs) | @@@@@ +[2.102 μs ; 2.148 μs) | +[2.148 μs ; 2.252 μs) | @ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.188 μs, StdErr = 0.049 μs (4.15%), N = 94, StdDev = 0.478 μs +Min = 0.600 μs, Q1 = 0.800 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.500 μs +IQR = 0.600 μs, LowerFence = -0.100 μs, UpperFence = 2.300 μs +ConfidenceInterval = [1.021 μs; 1.356 μs] (CI 99.9%), Margin = 0.168 μs (14.11% of Mean) +Skewness = 1.08, Kurtosis = 3.82, MValue = 4.88 +-------------------- Histogram -------------------- +[0.462 μs ; 0.662 μs) | @@@ +[0.662 μs ; 0.938 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.938 μs ; 1.262 μs) | @@@@@@@@@@@@@@@@@ +[1.262 μs ; 1.538 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.538 μs ; 1.788 μs) | @@@ +[1.788 μs ; 1.962 μs) | +[1.962 μs ; 2.312 μs) | @@@@ +[2.312 μs ; 2.638 μs) | @@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 907.143 ns, StdErr = 55.693 ns (6.14%), N = 98, StdDev = 551.334 ns +Min = 300.000 ns, Q1 = 400.000 ns, Median = 900.000 ns, Q3 = 1,200.000 ns, Max = 2,400.000 ns +IQR = 800.000 ns, LowerFence = -800.000 ns, UpperFence = 2,400.000 ns +ConfidenceInterval = [718.139 ns; 1,096.147 ns] (CI 99.9%), Margin = 189.004 ns (20.84% of Mean) +Skewness = 0.78, Kurtosis = 2.7, MValue = 3.85 +-------------------- Histogram -------------------- +[ 293.046 ns ; 606.954 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 606.954 ns ; 793.046 ns) | @@ +[ 793.046 ns ; 1,106.954 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1,106.954 ns ; 1,506.954 ns) | @@@@@@@@@@@@@ +[1,506.954 ns ; 1,693.046 ns) | +[1,693.046 ns ; 2,006.954 ns) | @@@@@@@@@@ +[2,006.954 ns ; 2,406.954 ns) | @@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Allocated | +|------------- |--------------------- |--------------------- |----------:| +| Init | .NET 10.0 | .NET 10.0 | 832 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 112 B | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 4.88) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.85) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 1.5μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 700ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 400ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Mean, Error, StdDev +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 13 outliers were removed (1.90 μs..2.40 μs) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> 15 outliers were removed (2.50 μs..3.10 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 6 outliers were removed (2.70 μs..3.10 μs) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> 2 outliers were removed (2.70 μs, 3.80 μs) + +// * Legends * + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.13 sec), executed benchmarks: 4 + +Global total time: 00:00:16 (16.62 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-184057.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-184057.log new file mode 100644 index 000000000..7b3aeebd3 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-184057.log @@ -0,0 +1,1219 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.96 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.63 sec and exited with 0 +// ***** Done, took 00:00:08 (8.64 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.96 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.51 sec and exited with 0 +// ***** Done, took 00:00:06 (6.48 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1484 2036 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 115500.00 ns, 115.5000 us/op +WorkloadJitting 1: 1 op, 125500.00 ns, 125.5000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadWarmup 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 4: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadWarmup 5: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 6: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 7: 1 op, 1400.00 ns, 1.4000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 3: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 4: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 5: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 6: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 7: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 8: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 9: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 10: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 11: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 13: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 14: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 15: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 16: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 17: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 18: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 19: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 20: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 21: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 22: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 23: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 24: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 25: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 26: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 27: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 28: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 29: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 30: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 31: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 32: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 35: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 36: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 37: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 38: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 39: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 40: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 41: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 45: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 49: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 50: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 55: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 64: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 65: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 70: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 71: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 72: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 73: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 74: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 75: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 76: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 78: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 82: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 84: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 86: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 87: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 88: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 90: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 91: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 92: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 95: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 96: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 97: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 98: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 99: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 100: 1 op, 2100.00 ns, 2.1000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 4: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 5: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 6: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 7: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 8: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 9: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 10: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 11: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 12: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 13: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 14: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 15: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 16: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 17: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 18: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 19: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 20: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 21: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 22: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 23: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 24: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 25: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 26: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 27: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 28: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 29: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 30: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 31: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 32: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 33: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 34: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 35: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 37: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 38: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 39: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 40: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 41: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 42: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 43: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 46: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 47: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 52: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 55: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 63: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 67: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 69: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 70: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 71: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 72: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 73: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 74: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 75: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 76: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 80: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 81: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 82: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 83: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 85: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 86: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 87: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 88: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 89: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 90: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 91: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 95: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 96: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 97: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 98: 1 op, 2000.00 ns, 2.0000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 120360 has exited with code 0. + +Mean = 1.423 μs, StdErr = 0.035 μs (2.49%), N = 98, StdDev = 0.350 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.303 μs; 1.544 μs] (CI 99.9%), Margin = 0.120 μs (8.44% of Mean) +Skewness = 1.14, Kurtosis = 2.81, MValue = 2.43 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:41 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1936 2040 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 75600.00 ns, 75.6000 us/op +WorkloadJitting 1: 1 op, 690200.00 ns, 690.2000 us/op + +OverheadWarmup 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 3: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 4: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 5: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 8: 1 op, 1100.00 ns, 1.1000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 5: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 7: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 8: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 10: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 11: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 12: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 13: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 14: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 17: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 19: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 20: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 21: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 24: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 25: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 28: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 29: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 33: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 36: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 37: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 38: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 39: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 40: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 42: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 43: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 45: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 46: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 47: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 49: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 50: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 51: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 52: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 53: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 55: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 57: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 58: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 59: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 60: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 62: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 63: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 65: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 66: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 69: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 70: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 71: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 72: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 74: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 75: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 76: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 77: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 78: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 79: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 80: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 81: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 82: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 84: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 85: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 86: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 88: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 89: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 90: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 91: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 92: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 93: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 94: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 95: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 96: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 97: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 98: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 99: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 100: 1 op, 900.00 ns, 900.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 5: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 7: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 8: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 11: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 12: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 14: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 19: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 22: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 25: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 29: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 32: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 33: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 35: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 40: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 42: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 43: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 44: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 45: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 47: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 48: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 49: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 50: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 51: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 52: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 53: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 56: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 57: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 58: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 59: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 60: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 61: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 62: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 63: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 65: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 66: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 68: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 69: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 70: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 71: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 72: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 73: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 78: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 79: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 80: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 81: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 82: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 83: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 84: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 85: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 87: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 88: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 89: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 91: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 92: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 93: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 94: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 95: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 96: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 97: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 98: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 99: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 100: 1 op, 800.00 ns, 800.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 76884 has exited with code 0. + +Mean = 928.000 ns, StdErr = 14.004 ns (1.51%), N = 100, StdDev = 140.043 ns +Min = 700.000 ns, Q1 = 800.000 ns, Median = 900.000 ns, Q3 = 1,000.000 ns, Max = 1,300.000 ns +IQR = 200.000 ns, LowerFence = 500.000 ns, UpperFence = 1,300.000 ns +ConfidenceInterval = [880.504 ns; 975.496 ns] (CI 99.9%), Margin = 47.496 ns (5.12% of Mean) +Skewness = 0.75, Kurtosis = 2.72, MValue = 2 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:41 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2044 2024 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 128500.00 ns, 128.5000 us/op +WorkloadJitting 1: 1 op, 92600.00 ns, 92.6000 us/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 2: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 4: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 7: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 16: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 17: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 18: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 19: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 21: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 22: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 33: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 35: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 42: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 47: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 48: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 49: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 50: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 51: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 52: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 53: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 57: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 58: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 61: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 62: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 63: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 69: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 70: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 71: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 74: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 75: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 78: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 79: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 80: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 81: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 82: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 83: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 84: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 85: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 86: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 87: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 88: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 90: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 91: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 95: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 4200.00 ns, 4.2000 us/op +WorkloadActual 98: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 99: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 100: 1 op, 1400.00 ns, 1.4000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 18: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 19: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 27: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 32: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 33: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 34: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 41: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 42: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 43: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 46: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 47: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 50: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 53: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 54: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 56: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 57: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 60: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 68: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 70: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 71: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 72: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 74: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 75: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 76: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 79: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 80: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 83: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 86: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 89: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 90: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 91: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 92: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 94: 1 op, 1300.00 ns, 1.3000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 112688 has exited with code 0. + +Mean = 1.088 μs, StdErr = 0.038 μs (3.51%), N = 94, StdDev = 0.370 μs +Min = 0.500 μs, Q1 = 0.725 μs, Median = 1.100 μs, Q3 = 1.300 μs, Max = 2.000 μs +IQR = 0.575 μs, LowerFence = -0.138 μs, UpperFence = 2.163 μs +ConfidenceInterval = [0.958 μs; 1.218 μs] (CI 99.9%), Margin = 0.130 μs (11.93% of Mean) +Skewness = 0.27, Kurtosis = 2.23, MValue = 4.55 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:41 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1940 2024 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 124000.00 ns, 124.0000 us/op +WorkloadJitting 1: 1 op, 1901400.00 ns, 1.9014 ms/op + +OverheadWarmup 1: 1 op, 1400.00 ns, 1.4000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 0.00 ns, 0.0000 ns/op + +WorkloadWarmup 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 7: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 9: 1 op, 200.00 ns, 200.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 12: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 16: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 22: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 23: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 29: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 32: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 33: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 37: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 43: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 44: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 45: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 48: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 51: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 53: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 59: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 60: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 66: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 68: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 69: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 70: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 71: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 72: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 73: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 75: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 76: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 79: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 81: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 82: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 83: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 86: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 87: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 88: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 89: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 90: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 91: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 92: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 96: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 98: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 100: 1 op, 400.00 ns, 400.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 5: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 7: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 8: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 11: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 15: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 16: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 17: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 18: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 19: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 20: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 22: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 24: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 25: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 26: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 27: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 29: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 30: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 31: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 32: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 33: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 34: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 36: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 38: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 39: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 40: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 41: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 42: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 43: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 44: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 45: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 46: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 49: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 53: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 54: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 55: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 56: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 57: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 58: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 61: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 62: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 64: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 67: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 68: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 71: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 72: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 76: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 77: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 78: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 81: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 82: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 84: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 85: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 86: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 88: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 93: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 94: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 95: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 96: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 97: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 98: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 99: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 100: 1 op, 300.00 ns, 300.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 8904 has exited with code 0. + +Mean = 174.000 ns, StdErr = 9.808 ns (5.64%), N = 100, StdDev = 98.083 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 300.000 ns, Max = 400.000 ns +IQR = 200.000 ns, LowerFence = -200.000 ns, UpperFence = 600.000 ns +ConfidenceInterval = [140.735 ns; 207.265 ns] (CI 99.9%), Margin = 33.265 ns (19.12% of Mean) +Skewness = 0.34, Kurtosis = 2.21, MValue = 4.65 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 18:41 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.423 μs, StdErr = 0.035 μs (2.49%), N = 98, StdDev = 0.350 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.303 μs; 1.544 μs] (CI 99.9%), Margin = 0.120 μs (8.44% of Mean) +Skewness = 1.14, Kurtosis = 2.81, MValue = 2.43 +-------------------- Histogram -------------------- +[0.950 μs ; 1.150 μs) | @@@@@@@@@@@@ +[1.150 μs ; 1.350 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.350 μs ; 1.550 μs) | @@@@@@@@@ +[1.550 μs ; 1.750 μs) | @@@@@@@ +[1.750 μs ; 1.950 μs) | @@ +[1.950 μs ; 2.150 μs) | @@@@@@@@@@@@@ +[2.150 μs ; 2.300 μs) | @@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 928.000 ns, StdErr = 14.004 ns (1.51%), N = 100, StdDev = 140.043 ns +Min = 700.000 ns, Q1 = 800.000 ns, Median = 900.000 ns, Q3 = 1,000.000 ns, Max = 1,300.000 ns +IQR = 200.000 ns, LowerFence = 500.000 ns, UpperFence = 1,300.000 ns +ConfidenceInterval = [880.504 ns; 975.496 ns] (CI 99.9%), Margin = 47.496 ns (5.12% of Mean) +Skewness = 0.75, Kurtosis = 2.72, MValue = 2 +-------------------- Histogram -------------------- +[ 660.400 ns ; 739.600 ns) | @@@ +[ 739.600 ns ; 839.600 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 839.600 ns ; 939.600 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 939.600 ns ; 1,039.600 ns) | @@@@@@@@@@@@@@ +[1,039.600 ns ; 1,139.600 ns) | @@@@@@@@@@@@ +[1,139.600 ns ; 1,239.600 ns) | @@@@@@@ +[1,239.600 ns ; 1,339.600 ns) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.088 μs, StdErr = 0.038 μs (3.51%), N = 94, StdDev = 0.370 μs +Min = 0.500 μs, Q1 = 0.725 μs, Median = 1.100 μs, Q3 = 1.300 μs, Max = 2.000 μs +IQR = 0.575 μs, LowerFence = -0.138 μs, UpperFence = 2.163 μs +ConfidenceInterval = [0.958 μs; 1.218 μs] (CI 99.9%), Margin = 0.130 μs (11.93% of Mean) +Skewness = 0.27, Kurtosis = 2.23, MValue = 4.55 +-------------------- Histogram -------------------- +[0.393 μs ; 0.593 μs) | @@ +[0.593 μs ; 0.843 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.843 μs ; 1.093 μs) | @@@@@@@@ +[1.093 μs ; 1.307 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.307 μs ; 1.393 μs) | +[1.393 μs ; 1.607 μs) | @@@@@@@@@@@@ +[1.607 μs ; 1.693 μs) | +[1.693 μs ; 1.907 μs) | @@@@@@ +[1.907 μs ; 2.107 μs) | @ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 174.000 ns, StdErr = 9.808 ns (5.64%), N = 100, StdDev = 98.083 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 300.000 ns, Max = 400.000 ns +IQR = 200.000 ns, LowerFence = -200.000 ns, UpperFence = 600.000 ns +ConfidenceInterval = [140.735 ns; 207.265 ns] (CI 99.9%), Margin = 33.265 ns (19.12% of Mean) +Skewness = 0.34, Kurtosis = 2.21, MValue = 4.65 +-------------------- Histogram -------------------- +[ 0.000 ns ; 27.735 ns) | @@@@@@ +[ 27.735 ns ; 72.265 ns) | +[ 72.265 ns ; 127.735 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[127.735 ns ; 172.265 ns) | +[172.265 ns ; 227.735 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[227.735 ns ; 272.265 ns) | +[272.265 ns ; 327.735 ns) | @@@@@@@@@@@@@@@@@@@@@@@ +[327.735 ns ; 372.265 ns) | +[372.265 ns ; 427.735 ns) | @@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Median | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 1,300.0 ns | 832 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 900.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,100.0 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 200.0 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 4.55) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 4.65) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1.1μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 800ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Mean, Error, StdDev +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 2 outliers were removed (2.40 μs, 2.40 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 6 outliers were removed (2.40 μs..4.20 μs) + +// * Legends * + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.14 sec), executed benchmarks: 4 + +Global total time: 00:00:16 (16.96 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-190953.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-190953.log new file mode 100644 index 000000000..6ff83fff2 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260209-190953.log @@ -0,0 +1,1205 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 0.96 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.34 sec and exited with 0 +// ***** Done, took 00:00:08 (8.35 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 0.95 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.45 sec and exited with 0 +// ***** Done, took 00:00:06 (6.42 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1900 2008 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 108200.00 ns, 108.2000 us/op +WorkloadJitting 1: 1 op, 115800.00 ns, 115.8000 us/op + +OverheadWarmup 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 2: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 3: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadWarmup 4: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 5: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 6: 1 op, 1100.00 ns, 1.1000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 3: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 4: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 5: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 6: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 7: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 8: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 9: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 10: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 11: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 12: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 13: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 14: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 15: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 16: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 17: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 18: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 19: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 20: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 23: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 24: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 25: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 26: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 27: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 28: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 29: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 30: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 31: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 35: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 36: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 37: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 38: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 39: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 40: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 41: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 42: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 45: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 46: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 47: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 48: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 49: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 50: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 54: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 58: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 65: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 69: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 70: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 71: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 72: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 73: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 74: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 75: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 76: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 77: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 78: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 79: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 80: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 81: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 82: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 84: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 85: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 87: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 88: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 89: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 90: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 91: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 95: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 96: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 97: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 98: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 99: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 100: 1 op, 1300.00 ns, 1.3000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 3: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 4: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 5: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 6: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 7: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 8: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 9: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 10: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 11: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 12: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 13: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 14: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 15: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 16: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 17: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 18: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 19: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 21: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 23: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 24: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 25: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 26: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 27: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 28: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 29: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 30: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 31: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 32: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 33: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 35: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 36: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 37: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 38: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 40: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 41: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 42: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 43: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 44: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 45: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 46: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 47: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 50: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 52: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 57: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 59: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 60: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 62: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 63: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 65: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 69: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 70: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 71: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 72: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 73: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 74: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 75: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 76: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 77: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 80: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 81: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 83: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 84: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 85: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 86: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 87: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 88: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 90: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 91: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 92: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 93: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 94: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 95: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 96: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 97: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 98: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 99: 1 op, 1200.00 ns, 1.2000 us/op +// GC: 0 0 0 832 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 122800 has exited with code 0. + +Mean = 1.438 μs, StdErr = 0.034 μs (2.38%), N = 99, StdDev = 0.341 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.322 μs; 1.555 μs] (CI 99.9%), Margin = 0.116 μs (8.09% of Mean) +Skewness = 0.85, Kurtosis = 2.27, MValue = 2.7 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-09 19:10 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2004 2024 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 74000.00 ns, 74.0000 us/op +WorkloadJitting 1: 1 op, 663800.00 ns, 663.8000 us/op + +OverheadWarmup 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 3: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 6: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 7: 1 op, 900.00 ns, 900.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 3: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 7: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 17: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 21: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 22: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 25: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 28: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 31: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 32: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 36: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 37: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 40: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 41: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 42: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 43: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 44: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 45: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 46: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 47: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 50: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 51: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 52: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 53: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 54: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 55: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 57: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 58: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 59: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 60: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 61: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 63: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 65: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 66: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 67: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 68: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 69: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 70: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 71: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 72: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 73: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 74: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 75: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 76: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 77: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 78: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 79: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 80: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 81: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 82: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 84: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 85: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 87: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 88: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 89: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 90: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 91: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 92: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 93: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 94: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 95: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 96: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 97: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 98: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 99: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 100: 1 op, 900.00 ns, 900.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 21: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 22: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 25: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 40: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 41: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 42: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 43: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 44: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 45: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 47: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 48: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 49: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 50: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 51: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 52: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 53: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 54: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 55: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 56: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 57: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 58: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 59: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 60: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 61: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 64: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 65: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 66: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 67: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 73: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 75: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 76: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 78: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 79: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 80: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 81: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 82: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 83: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 84: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 85: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 87: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 88: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 89: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 90: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 91: 1 op, 800.00 ns, 800.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 111952 has exited with code 0. + +Mean = 840.659 ns, StdErr = 8.266 ns (0.98%), N = 91, StdDev = 78.850 ns +Min = 700.000 ns, Q1 = 800.000 ns, Median = 800.000 ns, Q3 = 900.000 ns, Max = 1,000.000 ns +IQR = 100.000 ns, LowerFence = 650.000 ns, UpperFence = 1,050.000 ns +ConfidenceInterval = [812.540 ns; 868.779 ns] (CI 99.9%), Margin = 28.120 ns (3.34% of Mean) +Skewness = 0.78, Kurtosis = 2.86, MValue = 3.25 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-09 19:10 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2004 1980 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 134000.00 ns, 134.0000 us/op +WorkloadJitting 1: 1 op, 103700.00 ns, 103.7000 us/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 7: 1 op, 300.00 ns, 300.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 2: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 3: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 9: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 12: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 25: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 33: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 37: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 42: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 44: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 45: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 48: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 49: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 51: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 52: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 59: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 60: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 64: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 65: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadActual 66: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 69: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 70: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 71: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 72: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 73: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 74: 1 op, 3700.00 ns, 3.7000 us/op +WorkloadActual 75: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 76: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 78: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 79: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 81: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 82: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 83: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 85: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 87: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 90: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 91: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 92: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 93: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 94: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 95: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 96: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 97: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 98: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 99: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 100: 1 op, 1500.00 ns, 1.5000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 20: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 21: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 22: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 32: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 40: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 42: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 43: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 44: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 45: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 46: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 47: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 48: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 49: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 50: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 52: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 59: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 62: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 63: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 69: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 70: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 71: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 72: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 73: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 74: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 75: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 76: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 77: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 78: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 79: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 81: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 82: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 83: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 85: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 87: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 88: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 89: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 90: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 91: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 92: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 93: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 94: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 95: 1 op, 1400.00 ns, 1.4000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 121124 has exited with code 0. + +Mean = 1.162 μs, StdErr = 0.055 μs (4.69%), N = 95, StdDev = 0.531 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.500 μs +IQR = 0.700 μs, LowerFence = -0.350 μs, UpperFence = 2.450 μs +ConfidenceInterval = [0.977 μs; 1.347 μs] (CI 99.9%), Margin = 0.185 μs (15.94% of Mean) +Skewness = 0.9, Kurtosis = 3, MValue = 3.33 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-09 19:10 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1900 1576 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 124000.00 ns, 124.0000 us/op +WorkloadJitting 1: 1 op, 1897200.00 ns, 1.8972 ms/op + +OverheadWarmup 1: 1 op, 800.00 ns, 800.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 200.00 ns, 200.0000 ns/op + +WorkloadWarmup 1: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadWarmup 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 8: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 9: 1 op, 300.00 ns, 300.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 19: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 24: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 25: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 27: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 31: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 32: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 34: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 35: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 36: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 37: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 43: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 44: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 46: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 48: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 51: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 53: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 59: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 64: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 66: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 68: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 69: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 71: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 75: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 76: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 77: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 78: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 79: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 80: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 81: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 82: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 83: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 84: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 86: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 89: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 93: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 94: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 95: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 96: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 97: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 98: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 99: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 100: 1 op, 200.00 ns, 200.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 5: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 6: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 7: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 8: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 11: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 12: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 13: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 14: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 15: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 16: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 17: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 18: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 19: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 20: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 21: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 23: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 24: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 25: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 26: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 28: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 29: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 30: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 31: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 32: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 33: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 34: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 35: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 36: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 38: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 39: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 40: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 41: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 42: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 43: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 44: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 45: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 47: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 48: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 49: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 50: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 53: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 54: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 55: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 56: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 57: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 58: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 61: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 65: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 66: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 67: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 69: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 70: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 71: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 72: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 76: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 77: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 81: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 82: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 83: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 84: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 85: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 86: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 87: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 88: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 89: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 91: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 92: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 93: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 94: 1 op, 100.00 ns, 100.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 111212 has exited with code 0. + +Mean = 142.553 ns, StdErr = 7.331 ns (5.14%), N = 94, StdDev = 71.074 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [117.642 ns; 167.465 ns] (CI 99.9%), Margin = 24.911 ns (17.48% of Mean) +Skewness = 0.79, Kurtosis = 3.01, MValue = 3.3 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-09 19:10 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 1.438 μs, StdErr = 0.034 μs (2.38%), N = 99, StdDev = 0.341 μs +Min = 1.000 μs, Q1 = 1.200 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.200 μs +IQR = 0.400 μs, LowerFence = 0.600 μs, UpperFence = 2.200 μs +ConfidenceInterval = [1.322 μs; 1.555 μs] (CI 99.9%), Margin = 0.116 μs (8.09% of Mean) +Skewness = 0.85, Kurtosis = 2.27, MValue = 2.7 +-------------------- Histogram -------------------- +[0.903 μs ; 1.053 μs) | @ +[1.053 μs ; 1.247 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.247 μs ; 1.447 μs) | @@@@@@@@@@@@@@@@@@@@ +[1.447 μs ; 1.647 μs) | @@@@@@@@@@@ +[1.647 μs ; 1.847 μs) | @@@@ +[1.847 μs ; 1.953 μs) | @@ +[1.953 μs ; 2.147 μs) | @@@@@@@@@@@@@@@@@ +[2.147 μs ; 2.297 μs) | @ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 840.659 ns, StdErr = 8.266 ns (0.98%), N = 91, StdDev = 78.850 ns +Min = 700.000 ns, Q1 = 800.000 ns, Median = 800.000 ns, Q3 = 900.000 ns, Max = 1,000.000 ns +IQR = 100.000 ns, LowerFence = 650.000 ns, UpperFence = 1,050.000 ns +ConfidenceInterval = [812.540 ns; 868.779 ns] (CI 99.9%), Margin = 28.120 ns (3.34% of Mean) +Skewness = 0.78, Kurtosis = 2.86, MValue = 3.25 +-------------------- Histogram -------------------- +[676.991 ns ; 723.009 ns) | @@@@@ +[723.009 ns ; 776.991 ns) | +[776.991 ns ; 823.009 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[823.009 ns ; 876.992 ns) | +[876.992 ns ; 923.009 ns) | @@@@@@@@@@@@@@@@@@ +[923.009 ns ; 976.992 ns) | +[976.992 ns ; 1,023.009 ns) | @@@@@@@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.162 μs, StdErr = 0.055 μs (4.69%), N = 95, StdDev = 0.531 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.500 μs +IQR = 0.700 μs, LowerFence = -0.350 μs, UpperFence = 2.450 μs +ConfidenceInterval = [0.977 μs; 1.347 μs] (CI 99.9%), Margin = 0.185 μs (15.94% of Mean) +Skewness = 0.9, Kurtosis = 3, MValue = 3.33 +-------------------- Histogram -------------------- +[0.497 μs ; 0.803 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.803 μs ; 1.097 μs) | @@@ +[1.097 μs ; 1.403 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.403 μs ; 1.753 μs) | @@@@@@@ +[1.753 μs ; 2.103 μs) | @@@ +[2.103 μs ; 2.503 μs) | @@@@@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 142.553 ns, StdErr = 7.331 ns (5.14%), N = 94, StdDev = 71.074 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [117.642 ns; 167.465 ns] (CI 99.9%), Margin = 24.911 ns (17.48% of Mean) +Skewness = 0.79, Kurtosis = 3.01, MValue = 3.3 +-------------------- Histogram -------------------- +[ 0.000 ns ; 20.516 ns) | @@@ +[ 20.516 ns ; 61.549 ns) | +[ 61.549 ns ; 79.484 ns) | +[ 79.484 ns ; 120.516 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[120.516 ns ; 161.549 ns) | +[161.549 ns ; 179.484 ns) | +[179.484 ns ; 220.516 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[220.516 ns ; 261.549 ns) | +[261.549 ns ; 279.484 ns) | +[279.484 ns ; 320.516 ns) | @@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Median | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 1,300.0 ns | 832 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 800.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,200.0 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 100.0 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is bimodal (mValue = 3.25) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.33) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.3) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 1.1μs which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 800ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Mean, Error, StdDev +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 1 outlier was removed (2.40 μs) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> 9 outliers were removed (1.20 μs..1.30 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 5 outliers were removed (2.70 μs..3.70 μs) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> 6 outliers were removed (500.00 ns..800.00 ns) + +// * Legends * + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.12 sec), executed benchmarks: 4 + +Global total time: 00:00:16 (16.69 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260210-085026.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260210-085026.log new file mode 100644 index 000000000..160fa4d3e --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260210-085026.log @@ -0,0 +1,1209 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.1 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 8.56 sec and exited with 0 +// ***** Done, took 00:00:09 (9.71 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.18 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 7.04 sec and exited with 0 +// ***** Done, took 00:00:08 (8.25 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2136 1672 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 78300.00 ns, 78.3000 us/op +WorkloadJitting 1: 1 op, 119600.00 ns, 119.6000 us/op + +OverheadWarmup 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 5: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 7: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 8: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 18: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 20: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 34: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 35: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 37: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 39: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 40: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 42: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 43: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 44: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 45: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 46: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 47: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 48: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 49: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 50: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 51: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 52: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 53: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 56: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 59: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 60: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 61: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 65: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 67: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 68: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 75: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 78: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 79: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 80: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 81: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 84: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 85: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 87: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 88: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 89: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 90: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 92: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 93: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 94: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 95: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 96: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 97: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 98: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 99: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 100: 1 op, 800.00 ns, 800.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 11: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 15: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 35: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 37: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 40: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 42: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 45: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 46: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 47: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 48: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 49: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 50: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 51: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 52: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 53: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 54: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 57: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 58: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 59: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 61: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 62: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 63: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 65: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 66: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 68: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 70: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 71: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 73: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 74: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 75: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 76: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 79: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 80: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 81: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 83: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 84: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 85: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 86: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 87: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 88: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 89: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 90: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 92: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 93: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 94: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 95: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 96: 1 op, 700.00 ns, 700.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 87808 has exited with code 0. + +Mean = 696.875 ns, StdErr = 14.916 ns (2.14%), N = 96, StdDev = 146.146 ns +Min = 500.000 ns, Q1 = 600.000 ns, Median = 700.000 ns, Q3 = 800.000 ns, Max = 1,100.000 ns +IQR = 200.000 ns, LowerFence = 300.000 ns, UpperFence = 1,100.000 ns +ConfidenceInterval = [646.222 ns; 747.528 ns] (CI 99.9%), Margin = 50.653 ns (7.27% of Mean) +Skewness = 1.01, Kurtosis = 3.95, MValue = 2.27 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:50 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2080 2008 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 75000.00 ns, 75.0000 us/op +WorkloadJitting 1: 1 op, 540000.00 ns, 540.0000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 5500.00 ns, 5.5000 us/op +WorkloadWarmup 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 7: 1 op, 500.00 ns, 500.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 11: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 18: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 23: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 34: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 37: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 39: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 43: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 44: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 45: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 46: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 47: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 48: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 49: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 50: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 51: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 52: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 53: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 54: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 57: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 59: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 60: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 61: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 65: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 68: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 70: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 71: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 74: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 75: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 76: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 77: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 79: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 80: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 81: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 82: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 83: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 85: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 86: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 87: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 88: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 89: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 90: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 91: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 92: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 94: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 95: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 96: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 98: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 100: 1 op, 500.00 ns, 500.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 12: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 18: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 20: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 24: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 25: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 30: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 31: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 33: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 38: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 41: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 44: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 46: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 47: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 51: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 52: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 55: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 56: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 58: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 59: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 60: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 68: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 69: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 70: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 71: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 72: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 73: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 74: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 75: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 76: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 77: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 78: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 79: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 80: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 81: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 82: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 84: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 86: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 87: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 88: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 90: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 91: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 93: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 95: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 96: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 97: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 98: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 99: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 100: 1 op, 400.00 ns, 400.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 80388 has exited with code 0. + +Mean = 393.000 ns, StdErr = 11.033 ns (2.81%), N = 100, StdDev = 110.330 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 800.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [355.581 ns; 430.419 ns] (CI 99.9%), Margin = 37.419 ns (9.52% of Mean) +Skewness = 1.16, Kurtosis = 4.08, MValue = 4.26 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:50 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2196 1924 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 122500.00 ns, 122.5000 us/op +WorkloadJitting 1: 1 op, 96800.00 ns, 96.8000 us/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 0.00 ns, 0.0000 ns/op + +WorkloadWarmup 1: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadWarmup 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 7: 1 op, 700.00 ns, 700.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 21: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 39: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 42: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 43: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 44: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 45: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 46: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 47: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 48: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 49: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 51: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 52: 1 op, 3400.00 ns, 3.4000 us/op +WorkloadActual 53: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 56: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 57: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 58: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 59: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 60: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 61: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 62: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 63: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 64: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 65: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 66: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 69: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 70: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 71: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 73: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 74: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 75: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 76: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 77: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 78: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 79: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 80: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 81: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 82: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 83: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 84: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 85: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 86: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 87: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 88: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 89: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 90: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 91: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 92: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 95: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 96: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 97: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 98: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 99: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 100: 1 op, 1800.00 ns, 1.8000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 20: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 22: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 33: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 34: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 39: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 40: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 42: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 43: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 44: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 46: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 47: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 48: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 49: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 50: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 51: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 53: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 54: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 55: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 56: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 57: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 58: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 59: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 60: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 61: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 62: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 63: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 64: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 69: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 70: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 71: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 73: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 74: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 75: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 76: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 77: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 79: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 80: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 81: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 82: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 84: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 85: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 86: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 87: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 88: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 89: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 90: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 91: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 93: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 94: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 95: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 96: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 97: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 98: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 99: 1 op, 1700.00 ns, 1.7000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 85784 has exited with code 0. + +Mean = 1.241 μs, StdErr = 0.054 μs (4.34%), N = 99, StdDev = 0.535 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.600 μs +IQR = 0.900 μs, LowerFence = -0.650 μs, UpperFence = 2.950 μs +ConfidenceInterval = [1.059 μs; 1.424 μs] (CI 99.9%), Margin = 0.183 μs (14.71% of Mean) +Skewness = 0.35, Kurtosis = 2.12, MValue = 3.69 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:50 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2176 1528 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 138200.00 ns, 138.2000 us/op +WorkloadJitting 1: 1 op, 2003500.00 ns, 2.0035 ms/op + +OverheadWarmup 1: 1 op, 900.00 ns, 900.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 8: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 13: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 16: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 19: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 20: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 22: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 24: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 25: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 26: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 29: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 31: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 32: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 33: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 34: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 35: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 36: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 43: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 44: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 45: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 47: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 49: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 51: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 52: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 54: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 55: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 56: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 57: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 58: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 59: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 69: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 70: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 71: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 72: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 73: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 74: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 75: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 76: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 78: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 79: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 80: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 82: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 84: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 86: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 87: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 88: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 93: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 96: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 97: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 98: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 99: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 100: 1 op, 300.00 ns, 300.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 2: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 3: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 5: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 6: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 7: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 8: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 11: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 12: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 13: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 15: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 16: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 17: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 18: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 19: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 20: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 22: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 23: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 24: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 25: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 26: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 27: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 28: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 29: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 31: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 32: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 33: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 34: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 35: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 36: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 38: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 39: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 40: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 44: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 47: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 48: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 51: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 61: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 62: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 64: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 65: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 68: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 70: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 71: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 72: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 75: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 76: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 81: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 82: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 83: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 86: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 87: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 88: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 89: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 90: 1 op, 200.00 ns, 200.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 125992 has exited with code 0. + +Mean = 157.778 ns, StdErr = 8.358 ns (5.30%), N = 90, StdDev = 79.291 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [129.333 ns; 186.222 ns] (CI 99.9%), Margin = 28.444 ns (18.03% of Mean) +Skewness = 0.48, Kurtosis = 2.3, MValue = 3.91 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:50 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 696.875 ns, StdErr = 14.916 ns (2.14%), N = 96, StdDev = 146.146 ns +Min = 500.000 ns, Q1 = 600.000 ns, Median = 700.000 ns, Q3 = 800.000 ns, Max = 1,100.000 ns +IQR = 200.000 ns, LowerFence = 300.000 ns, UpperFence = 1,100.000 ns +ConfidenceInterval = [646.222 ns; 747.528 ns] (CI 99.9%), Margin = 50.653 ns (7.27% of Mean) +Skewness = 1.01, Kurtosis = 3.95, MValue = 2.27 +-------------------- Histogram -------------------- +[ 458.108 ns ; 558.108 ns) | @@@@@@@@@@@@ +[ 558.108 ns ; 658.108 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 658.108 ns ; 741.892 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 741.892 ns ; 841.892 ns) | @@@@@@@@@@@@@@ +[ 841.892 ns ; 958.108 ns) | @@@@@@ +[ 958.108 ns ; 1,058.108 ns) | @ +[1,058.108 ns ; 1,141.892 ns) | @@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 393.000 ns, StdErr = 11.033 ns (2.81%), N = 100, StdDev = 110.330 ns +Min = 300.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 800.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [355.581 ns; 430.419 ns] (CI 99.9%), Margin = 37.419 ns (9.52% of Mean) +Skewness = 1.16, Kurtosis = 4.08, MValue = 4.26 +-------------------- Histogram -------------------- +[268.802 ns ; 331.198 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[331.198 ns ; 368.802 ns) | +[368.802 ns ; 431.198 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[431.198 ns ; 468.802 ns) | +[468.802 ns ; 531.198 ns) | @@@@@@@@@@@@@@@@@@@@ +[531.198 ns ; 568.802 ns) | +[568.802 ns ; 631.198 ns) | @@@@@ +[631.198 ns ; 668.802 ns) | +[668.802 ns ; 731.198 ns) | @@ +[731.198 ns ; 768.802 ns) | +[768.802 ns ; 831.198 ns) | @ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.241 μs, StdErr = 0.054 μs (4.34%), N = 99, StdDev = 0.535 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.300 μs, Q3 = 1.600 μs, Max = 2.600 μs +IQR = 0.900 μs, LowerFence = -0.650 μs, UpperFence = 2.950 μs +ConfidenceInterval = [1.059 μs; 1.424 μs] (CI 99.9%), Margin = 0.183 μs (14.71% of Mean) +Skewness = 0.35, Kurtosis = 2.12, MValue = 3.69 +-------------------- Histogram -------------------- +[0.498 μs ; 0.802 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.802 μs ; 1.098 μs) | @@@ +[1.098 μs ; 1.498 μs) | @@@@@@@@@@@@@@@ +[1.498 μs ; 1.802 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.802 μs ; 2.152 μs) | @@@@@@ +[2.152 μs ; 2.298 μs) | +[2.298 μs ; 2.602 μs) | @@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 157.778 ns, StdErr = 8.358 ns (5.30%), N = 90, StdDev = 79.291 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [129.333 ns; 186.222 ns] (CI 99.9%), Margin = 28.444 ns (18.03% of Mean) +Skewness = 0.48, Kurtosis = 2.3, MValue = 3.91 +-------------------- Histogram -------------------- +[ 0.000 ns ; 23.223 ns) | @@@ +[ 23.223 ns ; 76.777 ns) | +[ 76.777 ns ; 123.223 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[123.223 ns ; 176.777 ns) | +[176.777 ns ; 223.223 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@ +[223.223 ns ; 276.777 ns) | +[276.777 ns ; 323.223 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Median | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 700.0 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 400.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,300.0 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 100.0 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 4.26) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.69) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.91) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 400ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Mean, Error, StdDev +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 4 outliers were removed (1.30 μs..1.60 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 1 outlier was removed (3.40 μs) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> 10 outliers were removed (500.00 ns..700.00 ns) + +// * Legends * + Median : Value separating the higher half of all measurements (50th percentile) + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.15 sec), executed benchmarks: 4 + +Global total time: 00:00:19 (19.83 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260210-085532.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260210-085532.log new file mode 100644 index 000000000..5a96cdbd8 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260210-085532.log @@ -0,0 +1,1213 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.07 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 8.23 sec and exited with 0 +// ***** Done, took 00:00:09 (9.34 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.06 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 6.12 sec and exited with 0 +// ***** Done, took 00:00:07 (7.2 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1596 1888 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 78500.00 ns, 78.5000 us/op +WorkloadJitting 1: 1 op, 112600.00 ns, 112.6000 us/op + +OverheadWarmup 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 3: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 4: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 7: 1 op, 700.00 ns, 700.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 4: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 11: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 15: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 16: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 21: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 22: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 43: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 44: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 45: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 46: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 47: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 48: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 49: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 50: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 51: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 52: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 53: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 54: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 55: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 58: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 59: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 60: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 61: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 62: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 63: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 64: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 65: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 66: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 75: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 78: 1 op, 5500.00 ns, 5.5000 us/op +WorkloadActual 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 81: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 82: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 84: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 85: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 86: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 87: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 88: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 89: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 91: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 92: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 94: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 95: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 98: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 99: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 100: 1 op, 1300.00 ns, 1.3000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 20: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 21: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 24: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 29: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 32: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 33: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 42: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 45: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 47: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 48: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 49: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 51: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 52: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 53: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 54: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 56: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 57: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 58: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 59: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 60: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 61: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 62: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 65: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 66: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 70: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 71: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 73: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 74: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 78: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 80: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 81: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 82: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 84: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 85: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 86: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 87: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 88: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 89: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 90: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 92: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 93: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 94: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 95: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 96: 1 op, 1200.00 ns, 1.2000 us/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 132284 has exited with code 0. + +Mean = 785.417 ns, StdErr = 17.268 ns (2.20%), N = 96, StdDev = 169.196 ns +Min = 500.000 ns, Q1 = 700.000 ns, Median = 700.000 ns, Q3 = 800.000 ns, Max = 1,200.000 ns +IQR = 100.000 ns, LowerFence = 550.000 ns, UpperFence = 950.000 ns +ConfidenceInterval = [726.775 ns; 844.059 ns] (CI 99.9%), Margin = 58.642 ns (7.47% of Mean) +Skewness = 0.91, Kurtosis = 3.07, MValue = 4.97 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:55 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1524 1824 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 73700.00 ns, 73.7000 us/op +WorkloadJitting 1: 1 op, 530400.00 ns, 530.4000 us/op + +OverheadWarmup 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 6200.00 ns, 6.2000 us/op +WorkloadWarmup 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 7: 1 op, 600.00 ns, 600.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 11: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 15: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 21: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 26: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 28: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 42: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 44: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 45: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 47: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 49: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 51: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 52: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 53: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 54: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 57: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 58: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 60: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 68: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 70: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 71: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 74: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 75: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 76: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 77: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 78: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 79: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 80: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 82: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 85: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 86: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 87: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 88: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 90: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 93: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 95: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 96: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 97: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 98: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 99: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 100: 1 op, 400.00 ns, 400.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 18: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 20: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 22: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 23: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 26: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 27: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 29: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 31: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 32: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 33: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 34: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 38: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 39: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 40: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 44: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 45: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 46: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 48: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 49: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 51: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 52: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 56: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 57: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 58: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 59: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 68: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 69: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 70: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 71: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 72: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 73: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 74: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 75: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 76: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 77: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 79: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 80: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 82: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 84: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 86: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 87: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 88: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 89: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 90: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 91: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 93: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 94: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 95: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 96: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 97: 1 op, 300.00 ns, 300.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 132412 has exited with code 0. + +Mean = 445.361 ns, StdErr = 10.261 ns (2.30%), N = 97, StdDev = 101.058 ns +Min = 300.000 ns, Q1 = 400.000 ns, Median = 500.000 ns, Q3 = 500.000 ns, Max = 600.000 ns +IQR = 100.000 ns, LowerFence = 250.000 ns, UpperFence = 650.000 ns +ConfidenceInterval = [410.528 ns; 480.194 ns] (CI 99.9%), Margin = 34.833 ns (7.82% of Mean) +Skewness = -0.2, Kurtosis = 1.84, MValue = 4.62 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:55 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1524 1824 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 119300.00 ns, 119.3000 us/op +WorkloadJitting 1: 1 op, 92400.00 ns, 92.4000 us/op + +OverheadWarmup 1: 1 op, 900.00 ns, 900.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadWarmup 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 3: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 5: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 9: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 21: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 41: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 42: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 43: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 44: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 47: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 48: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 49: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 50: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 51: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 52: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 53: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 54: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 55: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 63: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 65: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 66: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 69: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 70: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 71: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 72: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 73: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 74: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 75: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 76: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 77: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 81: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 84: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 86: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 87: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 90: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 91: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 92: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 95: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 96: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 97: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 98: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 99: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 100: 1 op, 1300.00 ns, 1.3000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 9: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 18: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 21: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 22: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 27: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 34: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 40: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 42: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 43: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 47: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 51: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 56: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 60: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 62: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 63: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 64: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 65: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 70: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 71: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 72: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 73: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 74: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 75: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 76: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 78: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 81: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 82: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 85: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 88: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 89: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 90: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 91: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 93: 1 op, 1200.00 ns, 1.2000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 88004 has exited with code 0. + +Mean = 1.075 μs, StdErr = 0.040 μs (3.72%), N = 93, StdDev = 0.385 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.300 μs, Max = 2.200 μs +IQR = 0.600 μs, LowerFence = -0.200 μs, UpperFence = 2.200 μs +ConfidenceInterval = [0.939 μs; 1.211 μs] (CI 99.9%), Margin = 0.136 μs (12.63% of Mean) +Skewness = 0.39, Kurtosis = 2.71, MValue = 4.69 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:55 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1888 1916 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 123800.00 ns, 123.8000 us/op +WorkloadJitting 1: 1 op, 1861800.00 ns, 1.8618 ms/op + +OverheadWarmup 1: 1 op, 1200.00 ns, 1.2000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadWarmup 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 7: 1 op, 200.00 ns, 200.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 12: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 18: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 20: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 21: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 22: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 24: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 29: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 31: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 32: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 33: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 36: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 41: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 44: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 45: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 51: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 53: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 54: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 55: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 59: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 61: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 62: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 65: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 71: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 74: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 76: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 78: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 79: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 81: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 82: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 83: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 84: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 86: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 89: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 91: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 92: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 93: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 96: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 97: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 98: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 99: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 100: 1 op, 100.00 ns, 100.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 2: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 3: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 5: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 6: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 7: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 8: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 11: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 12: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 15: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 16: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 17: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 19: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 20: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 21: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 22: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 23: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 24: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 25: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 26: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 27: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 28: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 29: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 30: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 31: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 32: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 33: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 34: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 35: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 36: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 37: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 38: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 42: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 43: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 44: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 45: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 46: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 47: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 48: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 56: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 58: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 61: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 62: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 65: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 68: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 69: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 70: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 71: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 72: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 75: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 76: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 77: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 81: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 82: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 83: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 85: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 86: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 87: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 88: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 89: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 90: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 92: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 93: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 94: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 95: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 96: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 97: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 98: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 99: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 100: 1 op, 0.00 ns, 0.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 132164 has exited with code 0. + +Mean = 151.000 ns, StdErr = 7.587 ns (5.02%), N = 100, StdDev = 75.872 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [125.268 ns; 176.732 ns] (CI 99.9%), Margin = 25.732 ns (17.04% of Mean) +Skewness = 0.65, Kurtosis = 2.57, MValue = 3.57 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-10 8:55 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 785.417 ns, StdErr = 17.268 ns (2.20%), N = 96, StdDev = 169.196 ns +Min = 500.000 ns, Q1 = 700.000 ns, Median = 700.000 ns, Q3 = 800.000 ns, Max = 1,200.000 ns +IQR = 100.000 ns, LowerFence = 550.000 ns, UpperFence = 950.000 ns +ConfidenceInterval = [726.775 ns; 844.059 ns] (CI 99.9%), Margin = 58.642 ns (7.47% of Mean) +Skewness = 0.91, Kurtosis = 3.07, MValue = 4.97 +-------------------- Histogram -------------------- +[ 451.501 ns ; 551.501 ns) | @@ +[ 551.501 ns ; 651.501 ns) | @@@@@@@@@@@@@@@@ +[ 651.501 ns ; 748.499 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 748.499 ns ; 848.499 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[ 848.499 ns ; 948.499 ns) | @@@@@ +[ 948.499 ns ; 1,051.501 ns) | @@@@@ +[1,051.501 ns ; 1,148.499 ns) | @@@@@@@@ +[1,148.499 ns ; 1,248.499 ns) | @@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 445.361 ns, StdErr = 10.261 ns (2.30%), N = 97, StdDev = 101.058 ns +Min = 300.000 ns, Q1 = 400.000 ns, Median = 500.000 ns, Q3 = 500.000 ns, Max = 600.000 ns +IQR = 100.000 ns, LowerFence = 250.000 ns, UpperFence = 650.000 ns +ConfidenceInterval = [410.528 ns; 480.194 ns] (CI 99.9%), Margin = 34.833 ns (7.82% of Mean) +Skewness = -0.2, Kurtosis = 1.84, MValue = 4.62 +-------------------- Histogram -------------------- +[271.132 ns ; 328.868 ns) | @@@@@@@@@@@@@@@@@@@@@@@@ +[328.868 ns ; 371.132 ns) | +[371.132 ns ; 428.868 ns) | @@@@@@@@@@@@@@@@@@ +[428.868 ns ; 471.132 ns) | +[471.132 ns ; 528.868 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[528.868 ns ; 571.132 ns) | +[571.132 ns ; 628.868 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.075 μs, StdErr = 0.040 μs (3.72%), N = 93, StdDev = 0.385 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.300 μs, Max = 2.200 μs +IQR = 0.600 μs, LowerFence = -0.200 μs, UpperFence = 2.200 μs +ConfidenceInterval = [0.939 μs; 1.211 μs] (CI 99.9%), Margin = 0.136 μs (12.63% of Mean) +Skewness = 0.39, Kurtosis = 2.71, MValue = 4.69 +-------------------- Histogram -------------------- +[0.488 μs ; 0.712 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.712 μs ; 0.788 μs) | +[0.788 μs ; 1.012 μs) | @@@@@@@@@@@ +[1.012 μs ; 1.188 μs) | @@@@ +[1.188 μs ; 1.412 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.412 μs ; 1.488 μs) | +[1.488 μs ; 1.712 μs) | @@@@@@@@ +[1.712 μs ; 1.962 μs) | @@@ +[1.962 μs ; 2.038 μs) | +[2.038 μs ; 2.262 μs) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 151.000 ns, StdErr = 7.587 ns (5.02%), N = 100, StdDev = 75.872 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [125.268 ns; 176.732 ns] (CI 99.9%), Margin = 25.732 ns (17.04% of Mean) +Skewness = 0.65, Kurtosis = 2.57, MValue = 3.57 +-------------------- Histogram -------------------- +[ 0.000 ns ; 21.454 ns) | @@@ +[ 21.454 ns ; 64.363 ns) | +[ 64.363 ns ; 121.454 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[121.454 ns ; 178.546 ns) | +[178.546 ns ; 221.454 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[221.454 ns ; 278.546 ns) | +[278.546 ns ; 321.454 ns) | @@@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 785.4 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 445.4 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,075.3 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 151.0 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 4.97) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 4.62) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 4.69) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.57) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 400ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 4 outliers were removed (1.40 μs..5.50 μs) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> 3 outliers were removed (800.00 ns..1.00 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 7 outliers were removed (2.40 μs..2.90 μs) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.25 sec), executed benchmarks: 4 + +Global total time: 00:00:18 (18.49 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-170742.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-170742.log new file mode 100644 index 000000000..13710813b --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-170742.log @@ -0,0 +1,1218 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.04 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.29 sec and exited with 0 +// ***** Done, took 00:00:08 (8.4 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.02 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.38 sec and exited with 0 +// ***** Done, took 00:00:06 (6.42 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2592 2588 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 76600.00 ns, 76.6000 us/op +WorkloadJitting 1: 1 op, 118500.00 ns, 118.5000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 3: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 9: 1 op, 600.00 ns, 600.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 20: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 21: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 34: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 35: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 43: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 45: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 47: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 48: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 49: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 50: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 51: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 52: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 53: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 54: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 56: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 58: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 59: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 62: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 66: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 68: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 70: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 74: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 75: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 80: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 81: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 83: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 84: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 85: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 87: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 88: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 90: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 92: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 93: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 95: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 96: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 97: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 98: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 99: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 100: 1 op, 1000.00 ns, 1.0000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 16: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 26: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 28: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 29: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 30: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 42: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 45: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 46: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 47: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 49: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 51: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 52: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 53: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 54: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 55: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 59: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 60: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 62: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 64: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 65: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 66: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 67: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 70: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 71: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 73: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 74: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 75: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 76: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 77: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 79: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 80: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 81: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 83: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 84: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 85: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 86: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 87: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 88: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 90: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 91: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 92: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 93: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 95: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 96: 1 op, 900.00 ns, 900.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 38196 has exited with code 0. + +Mean = 694.792 ns, StdErr = 16.382 ns (2.36%), N = 96, StdDev = 160.506 ns +Min = 400.000 ns, Q1 = 600.000 ns, Median = 700.000 ns, Q3 = 700.000 ns, Max = 1,100.000 ns +IQR = 100.000 ns, LowerFence = 450.000 ns, UpperFence = 850.000 ns +ConfidenceInterval = [639.162 ns; 750.422 ns] (CI 99.9%), Margin = 55.630 ns (8.01% of Mean) +Skewness = 1.1, Kurtosis = 3.82, MValue = 5.23 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:07 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1872 2588 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 75200.00 ns, 75.2000 us/op +WorkloadJitting 1: 1 op, 544400.00 ns, 544.4000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 200.00 ns, 200.0000 ns/op + +WorkloadWarmup 1: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadWarmup 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 8: 1 op, 700.00 ns, 700.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 11: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 15: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 19: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 20: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 21: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 22: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 24: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 27: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 33: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 34: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 44: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 45: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 46: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 47: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 48: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 49: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 50: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 51: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 52: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 53: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 54: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 55: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 57: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 58: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 60: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 61: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 62: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 65: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 66: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 68: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 69: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 70: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 71: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 73: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 74: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 75: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 76: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 77: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 80: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 84: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 85: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 86: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 87: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 88: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 89: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 90: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 94: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 95: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 96: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 98: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 100: 1 op, 600.00 ns, 600.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 9: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 12: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 16: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 23: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 25: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 27: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 37: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 39: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 44: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 45: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 47: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 50: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 51: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 53: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 54: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 55: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 56: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 57: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 58: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 59: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 60: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 68: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 69: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 71: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 72: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 73: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 74: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 75: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 76: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 77: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 80: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 81: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 82: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 86: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 87: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 88: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 90: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 91: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 92: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 93: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 95: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 96: 1 op, 500.00 ns, 500.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 72612 has exited with code 0. + +Mean = 440.625 ns, StdErr = 9.887 ns (2.24%), N = 96, StdDev = 96.876 ns +Min = 300.000 ns, Q1 = 400.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 600.000 ns +IQR = 100.000 ns, LowerFence = 250.000 ns, UpperFence = 650.000 ns +ConfidenceInterval = [407.049 ns; 474.201 ns] (CI 99.9%), Margin = 33.576 ns (7.62% of Mean) +Skewness = 0.09, Kurtosis = 2, MValue = 5.82 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:07 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 2620 2616 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 120700.00 ns, 120.7000 us/op +WorkloadJitting 1: 1 op, 101700.00 ns, 101.7000 us/op + +OverheadWarmup 1: 1 op, 900.00 ns, 900.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 7: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadWarmup 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 4: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 7: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 2: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 6: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 11: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 15: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 20: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 21: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 25: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 26: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 31: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 32: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 33: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 42: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 43: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 44: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 47: 1 op, 4600.00 ns, 4.6000 us/op +WorkloadActual 48: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 49: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 50: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 51: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 4400.00 ns, 4.4000 us/op +WorkloadActual 54: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 55: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 56: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 57: 1 op, 3700.00 ns, 3.7000 us/op +WorkloadActual 58: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 59: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 60: 1 op, 3200.00 ns, 3.2000 us/op +WorkloadActual 61: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 62: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 64: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 65: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 67: 1 op, 3200.00 ns, 3.2000 us/op +WorkloadActual 68: 1 op, 3700.00 ns, 3.7000 us/op +WorkloadActual 69: 1 op, 3200.00 ns, 3.2000 us/op +WorkloadActual 70: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 71: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 72: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 73: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 74: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 75: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 76: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 77: 1 op, 3400.00 ns, 3.4000 us/op +WorkloadActual 78: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 79: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 82: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 83: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 84: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 85: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 86: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 87: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 88: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 89: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 90: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 91: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 92: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 93: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 94: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 95: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 96: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 97: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadActual 98: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 99: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 100: 1 op, 1400.00 ns, 1.4000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 2: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 6: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 13: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 15: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 22: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 35: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 37: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 38: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 42: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 43: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 44: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 45: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 46: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 47: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 49: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 51: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 52: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 53: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 54: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 55: 1 op, 3600.00 ns, 3.6000 us/op +WorkloadResult 56: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 57: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 58: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadResult 59: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadResult 60: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadResult 61: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 62: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadResult 63: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 65: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadResult 66: 1 op, 3600.00 ns, 3.6000 us/op +WorkloadResult 67: 1 op, 3100.00 ns, 3.1000 us/op +WorkloadResult 68: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadResult 69: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 70: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 71: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 72: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadResult 73: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 74: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 75: 1 op, 3300.00 ns, 3.3000 us/op +WorkloadResult 76: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadResult 77: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 78: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 79: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 80: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadResult 81: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 82: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 83: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 84: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 85: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 86: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 87: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 88: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 89: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 90: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 91: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 92: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 93: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 94: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadResult 95: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadResult 96: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 97: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 98: 1 op, 1300.00 ns, 1.3000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 40820 has exited with code 0. + +Mean = 1.528 μs, StdErr = 0.084 μs (5.52%), N = 98, StdDev = 0.835 μs +Min = 0.500 μs, Q1 = 0.800 μs, Median = 1.350 μs, Q3 = 2.000 μs, Max = 3.600 μs +IQR = 1.200 μs, LowerFence = -1.000 μs, UpperFence = 3.800 μs +ConfidenceInterval = [1.241 μs; 1.814 μs] (CI 99.9%), Margin = 0.286 μs (18.73% of Mean) +Skewness = 0.74, Kurtosis = 2.44, MValue = 2.34 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:07 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1896 1808 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 127500.00 ns, 127.5000 us/op +WorkloadJitting 1: 1 op, 1911100.00 ns, 1.9111 ms/op + +OverheadWarmup 1: 1 op, 1400.00 ns, 1.4000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 7: 1 op, 300.00 ns, 300.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 9: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 11: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 20: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 21: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 23: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 24: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 29: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 30: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 32: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 33: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 35: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 36: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 37: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 40: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 43: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 44: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 45: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 48: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 51: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 56: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 62: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 64: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 65: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 70: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 71: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 72: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 73: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 76: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 77: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 78: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 81: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 82: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 83: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 85: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 86: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 89: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 92: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 93: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 96: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 97: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 98: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 99: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 100: 1 op, 200.00 ns, 200.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 2: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 3: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 8: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 11: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 12: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 15: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 16: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 17: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 20: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 22: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 23: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 24: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 25: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 26: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 27: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 29: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 31: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 32: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 33: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 34: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 35: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 36: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 38: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 39: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 40: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 41: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 44: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 48: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 49: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 50: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 52: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 53: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 54: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 55: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 56: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 57: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 58: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 64: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 65: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 66: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 67: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 68: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 69: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 70: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 71: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 72: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 73: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 74: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 75: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 76: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 77: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 81: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 82: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 83: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 84: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 85: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 86: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 87: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 88: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 89: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 90: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 92: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 93: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 94: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 95: 1 op, 100.00 ns, 100.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 31600 has exited with code 0. + +Mean = 136.842 ns, StdErr = 8.339 ns (6.09%), N = 95, StdDev = 81.283 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [108.512 ns; 165.172 ns] (CI 99.9%), Margin = 28.330 ns (20.70% of Mean) +Skewness = 0.66, Kurtosis = 2.82, MValue = 3.39 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:07 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 694.792 ns, StdErr = 16.382 ns (2.36%), N = 96, StdDev = 160.506 ns +Min = 400.000 ns, Q1 = 600.000 ns, Median = 700.000 ns, Q3 = 700.000 ns, Max = 1,100.000 ns +IQR = 100.000 ns, LowerFence = 450.000 ns, UpperFence = 850.000 ns +ConfidenceInterval = [639.162 ns; 750.422 ns] (CI 99.9%), Margin = 55.630 ns (8.01% of Mean) +Skewness = 1.1, Kurtosis = 3.82, MValue = 5.23 +-------------------- Histogram -------------------- +[ 353.992 ns ; 453.992 ns) | @ +[ 453.992 ns ; 553.992 ns) | @@@@@@@@@@@@ +[ 553.992 ns ; 653.992 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 653.992 ns ; 746.008 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 746.008 ns ; 846.008 ns) | @@@@@@@@ +[ 846.008 ns ; 946.008 ns) | @@@@@ +[ 946.008 ns ; 1,053.992 ns) | @@ +[1,053.992 ns ; 1,146.008 ns) | @@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 440.625 ns, StdErr = 9.887 ns (2.24%), N = 96, StdDev = 96.876 ns +Min = 300.000 ns, Q1 = 400.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 600.000 ns +IQR = 100.000 ns, LowerFence = 250.000 ns, UpperFence = 650.000 ns +ConfidenceInterval = [407.049 ns; 474.201 ns] (CI 99.9%), Margin = 33.576 ns (7.62% of Mean) +Skewness = 0.09, Kurtosis = 2, MValue = 5.82 +-------------------- Histogram -------------------- +[272.231 ns ; 327.769 ns) | @@@@@@@@@@@@@@@@@@@ +[327.769 ns ; 372.231 ns) | +[372.231 ns ; 427.769 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[427.769 ns ; 472.231 ns) | +[472.231 ns ; 527.769 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[527.769 ns ; 572.231 ns) | +[572.231 ns ; 627.769 ns) | @@@@@@@@@@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.528 μs, StdErr = 0.084 μs (5.52%), N = 98, StdDev = 0.835 μs +Min = 0.500 μs, Q1 = 0.800 μs, Median = 1.350 μs, Q3 = 2.000 μs, Max = 3.600 μs +IQR = 1.200 μs, LowerFence = -1.000 μs, UpperFence = 3.800 μs +ConfidenceInterval = [1.241 μs; 1.814 μs] (CI 99.9%), Margin = 0.286 μs (18.73% of Mean) +Skewness = 0.74, Kurtosis = 2.44, MValue = 2.34 +-------------------- Histogram -------------------- +[0.462 μs ; 0.938 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.938 μs ; 1.538 μs) | @@@@@@@@@@@@@@@@@@@@@@@@ +[1.538 μs ; 2.038 μs) | @@@@@@@@@@@@@@@ +[2.038 μs ; 2.512 μs) | @@@@@@ +[2.512 μs ; 2.988 μs) | @@@@@@@@@@@@ +[2.988 μs ; 3.438 μs) | @@@@ +[3.438 μs ; 3.838 μs) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 136.842 ns, StdErr = 8.339 ns (6.09%), N = 95, StdDev = 81.283 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 100.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [108.512 ns; 165.172 ns] (CI 99.9%), Margin = 28.330 ns (20.70% of Mean) +Skewness = 0.66, Kurtosis = 2.82, MValue = 3.39 +-------------------- Histogram -------------------- +[ 0.000 ns ; 23.381 ns) | @@@@@@@@ +[ 23.381 ns ; 76.619 ns) | +[ 76.619 ns ; 123.381 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[123.381 ns ; 176.619 ns) | +[176.619 ns ; 223.381 ns) | @@@@@@@@@@@@@@@@@@@ +[223.381 ns ; 276.619 ns) | +[276.619 ns ; 323.381 ns) | @@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 694.8 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 440.6 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,527.6 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 136.8 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 5.23) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 5.82) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.39) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 500ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 400ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 4 outliers were removed (1.30 μs..1.80 μs) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> 4 outliers were removed (800.00 ns..900.00 ns) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 2 outliers were removed (4.40 μs, 4.60 μs) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> 5 outliers were removed (500.00 ns..800.00 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.12 sec), executed benchmarks: 4 + +Global total time: 00:00:17 (17.85 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-171415.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-171415.log new file mode 100644 index 000000000..63d6057e2 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-171415.log @@ -0,0 +1,1224 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.01 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.36 sec and exited with 0 +// ***** Done, took 00:00:08 (8.41 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.02 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.48 sec and exited with 0 +// ***** Done, took 00:00:06 (6.52 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1904 1968 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 88500.00 ns, 88.5000 us/op +WorkloadJitting 1: 1 op, 118000.00 ns, 118.0000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 200.00 ns, 200.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 2: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 6: 1 op, 600.00 ns, 600.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 2: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 5: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 8: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 10: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 15: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 18: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 19: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 30: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 31: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 38: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 41: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 42: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 43: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 45: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 46: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 47: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 48: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 49: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 50: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 51: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 55: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 56: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 57: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 58: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 60: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 61: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 62: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 64: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 65: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 66: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 67: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 68: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 69: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 70: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 71: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 74: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 75: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 78: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 79: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 80: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 81: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 82: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 85: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 87: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 88: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 89: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 92: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 93: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 94: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 95: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 96: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 97: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 98: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 99: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 100: 1 op, 800.00 ns, 800.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 4: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 5: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 7: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 14: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 16: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 18: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 21: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 22: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 25: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 26: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 33: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 34: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 36: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 40: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 41: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 42: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 44: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 45: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 46: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 47: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 50: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 51: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 52: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 53: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 58: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 59: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 61: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 62: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 63: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 64: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 65: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 66: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 67: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 68: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 69: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 70: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 71: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 72: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 75: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 79: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 80: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 81: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 84: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 85: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 86: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 87: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 88: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 90: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 92: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 93: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 94: 1 op, 700.00 ns, 700.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 77600 has exited with code 0. + +Mean = 813.830 ns, StdErr = 21.529 ns (2.65%), N = 94, StdDev = 208.735 ns +Min = 400.000 ns, Q1 = 700.000 ns, Median = 750.000 ns, Q3 = 900.000 ns, Max = 1,400.000 ns +IQR = 200.000 ns, LowerFence = 400.000 ns, UpperFence = 1,200.000 ns +ConfidenceInterval = [740.668 ns; 886.992 ns] (CI 99.9%), Margin = 73.162 ns (8.99% of Mean) +Skewness = 0.79, Kurtosis = 2.94, MValue = 3.91 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:14 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1444 1452 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 75700.00 ns, 75.7000 us/op +WorkloadJitting 1: 1 op, 538300.00 ns, 538.3000 us/op + +OverheadWarmup 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 7: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 4: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 14: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 16: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 22: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 25: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 26: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 28: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 29: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 31: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 34: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 37: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 38: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 39: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 43: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 44: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 45: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 46: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 47: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 49: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 51: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 52: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 53: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 54: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 55: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 56: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 58: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 60: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 65: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 68: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 69: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 70: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 71: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 72: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 74: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 76: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 78: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 79: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 80: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 81: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 82: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 84: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 85: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 86: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 87: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 88: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 89: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 90: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 91: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 92: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 93: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 96: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 97: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 98: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 100: 1 op, 800.00 ns, 800.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 11: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 14: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 18: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 19: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 20: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 21: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 22: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 26: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 27: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 29: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 37: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 41: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 44: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 45: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 48: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 49: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 51: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 57: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 59: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 68: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 70: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 71: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 72: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 73: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 74: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 75: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 76: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 77: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 80: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 82: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 83: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 84: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 85: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 86: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 87: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 88: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 89: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 90: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 91: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 94: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 95: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 96: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 98: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 99: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 100: 1 op, 700.00 ns, 700.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 40752 has exited with code 0. + +Mean = 452.000 ns, StdErr = 12.266 ns (2.71%), N = 100, StdDev = 122.664 ns +Min = 200.000 ns, Q1 = 300.000 ns, Median = 500.000 ns, Q3 = 525.000 ns, Max = 700.000 ns +IQR = 225.000 ns, LowerFence = -37.500 ns, UpperFence = 862.500 ns +ConfidenceInterval = [410.398 ns; 493.602 ns] (CI 99.9%), Margin = 41.602 ns (9.20% of Mean) +Skewness = -0.14, Kurtosis = 1.93, MValue = 6.67 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:14 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1616 1472 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 133100.00 ns, 133.1000 us/op +WorkloadJitting 1: 1 op, 88500.00 ns, 88.5000 us/op + +OverheadWarmup 1: 1 op, 900.00 ns, 900.0000 ns/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 15: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 20: 1 op, 0.00 ns, 0.0000 ns/op + +WorkloadWarmup 1: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadWarmup 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 3: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadWarmup 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 5: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 2: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 8: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 19: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 23: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 24: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 25: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 40: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 41: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 42: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 43: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 44: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 45: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 46: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 47: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 50: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 51: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 52: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 53: 1 op, 2600.00 ns, 2.6000 us/op +WorkloadActual 54: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 55: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 56: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 57: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 58: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 59: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 60: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 61: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 62: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 63: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 64: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 65: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 66: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 67: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 68: 1 op, 4500.00 ns, 4.5000 us/op +WorkloadActual 69: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 70: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 71: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 72: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 74: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 75: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 76: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 77: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 78: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 79: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadActual 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 81: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 84: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 87: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 88: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 89: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 90: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 91: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 92: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 93: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 94: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 95: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 96: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 97: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 98: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 99: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 100: 1 op, 2100.00 ns, 2.1000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 2: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 8: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 20: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 25: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 26: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 32: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 33: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 35: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 36: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 39: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 41: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 42: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 43: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 44: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 45: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 46: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 47: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 48: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 49: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 50: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 51: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 52: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 53: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadResult 54: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 56: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 57: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 58: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 59: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 60: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 61: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 62: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 63: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 64: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 65: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 66: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadResult 67: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 68: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 70: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 71: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 73: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 74: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 75: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 76: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 77: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 78: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadResult 79: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 80: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 83: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 85: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 86: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 87: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadResult 88: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 89: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 90: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 91: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 92: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 93: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 94: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 95: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 96: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 97: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadResult 98: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 99: 1 op, 2000.00 ns, 2.0000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 26924 has exited with code 0. + +Mean = 1.175 μs, StdErr = 0.052 μs (4.41%), N = 99, StdDev = 0.516 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.500 μs, Max = 2.700 μs +IQR = 0.800 μs, LowerFence = -0.500 μs, UpperFence = 2.700 μs +ConfidenceInterval = [0.999 μs; 1.351 μs] (CI 99.9%), Margin = 0.176 μs (14.97% of Mean) +Skewness = 0.63, Kurtosis = 2.78, MValue = 3.94 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:14 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1616 1472 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 126400.00 ns, 126.4000 us/op +WorkloadJitting 1: 1 op, 1921500.00 ns, 1.9215 ms/op + +OverheadWarmup 1: 1 op, 1000.00 ns, 1.0000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadWarmup 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 6: 1 op, 300.00 ns, 300.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 5: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 14: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 18: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 21: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 24: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 27: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 29: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 30: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 40: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 44: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 46: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 48: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 51: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 55: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 56: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 57: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 58: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 59: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 61: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 62: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 67: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 69: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 71: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 73: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 76: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 77: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 78: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 79: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 80: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 81: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 82: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 85: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 86: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 87: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 89: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 90: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 92: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 93: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 94: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 95: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 96: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 97: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 98: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 99: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 100: 1 op, 400.00 ns, 400.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 11: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 12: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 14: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 18: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 20: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 22: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 23: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 27: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 30: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 31: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 32: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 36: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 38: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 44: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 45: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 47: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 51: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 52: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 53: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 54: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 55: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 56: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 58: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 59: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 60: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 61: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 67: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 68: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 69: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 70: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 71: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 72: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 73: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 74: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 75: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 76: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 77: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 78: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 80: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 81: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 82: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 83: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 84: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 86: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 87: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 88: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 89: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 90: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 91: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 93: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 95: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 96: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 97: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 98: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 99: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 100: 1 op, 300.00 ns, 300.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 64852 has exited with code 0. + +Mean = 299.000 ns, StdErr = 13.962 ns (4.67%), N = 100, StdDev = 139.621 ns +Min = 0.000 ns, Q1 = 200.000 ns, Median = 300.000 ns, Q3 = 400.000 ns, Max = 700.000 ns +IQR = 200.000 ns, LowerFence = -100.000 ns, UpperFence = 700.000 ns +ConfidenceInterval = [251.647 ns; 346.353 ns] (CI 99.9%), Margin = 47.353 ns (15.84% of Mean) +Skewness = 0.55, Kurtosis = 3.24, MValue = 2.15 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:14 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 813.830 ns, StdErr = 21.529 ns (2.65%), N = 94, StdDev = 208.735 ns +Min = 400.000 ns, Q1 = 700.000 ns, Median = 750.000 ns, Q3 = 900.000 ns, Max = 1,400.000 ns +IQR = 200.000 ns, LowerFence = 400.000 ns, UpperFence = 1,200.000 ns +ConfidenceInterval = [740.668 ns; 886.992 ns] (CI 99.9%), Margin = 73.162 ns (8.99% of Mean) +Skewness = 0.79, Kurtosis = 2.94, MValue = 3.91 +-------------------- Histogram -------------------- +[ 339.746 ns ; 460.254 ns) | @ +[ 460.254 ns ; 610.254 ns) | @@@@@@@@@@@@@@@@ +[ 610.254 ns ; 689.746 ns) | +[ 689.746 ns ; 810.254 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 810.254 ns ; 889.746 ns) | +[ 889.746 ns ; 1,010.254 ns) | @@@@@@@@@@@@ +[1,010.254 ns ; 1,089.746 ns) | +[1,089.746 ns ; 1,210.254 ns) | @@@@@@@@@@@@@@@ +[1,210.254 ns ; 1,289.746 ns) | +[1,289.746 ns ; 1,410.254 ns) | @@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 452.000 ns, StdErr = 12.266 ns (2.71%), N = 100, StdDev = 122.664 ns +Min = 200.000 ns, Q1 = 300.000 ns, Median = 500.000 ns, Q3 = 525.000 ns, Max = 700.000 ns +IQR = 225.000 ns, LowerFence = -37.500 ns, UpperFence = 862.500 ns +ConfidenceInterval = [410.398 ns; 493.602 ns] (CI 99.9%), Margin = 41.602 ns (9.20% of Mean) +Skewness = -0.14, Kurtosis = 1.93, MValue = 6.67 +-------------------- Histogram -------------------- +[165.314 ns ; 234.686 ns) | @@@ +[234.686 ns ; 265.314 ns) | +[265.314 ns ; 334.686 ns) | @@@@@@@@@@@@@@@@@@@@@@@@ +[334.686 ns ; 365.314 ns) | +[365.314 ns ; 434.686 ns) | @@@@@@@@@@@@@@@@@@ +[434.686 ns ; 465.314 ns) | +[465.314 ns ; 534.686 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[534.686 ns ; 565.314 ns) | +[565.314 ns ; 634.686 ns) | @@@@@@@@@@@@@@@@@@@@@@@ +[634.686 ns ; 665.314 ns) | +[665.314 ns ; 734.686 ns) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.175 μs, StdErr = 0.052 μs (4.41%), N = 99, StdDev = 0.516 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.500 μs, Max = 2.700 μs +IQR = 0.800 μs, LowerFence = -0.500 μs, UpperFence = 2.700 μs +ConfidenceInterval = [0.999 μs; 1.351 μs] (CI 99.9%), Margin = 0.176 μs (14.97% of Mean) +Skewness = 0.63, Kurtosis = 2.78, MValue = 3.94 +-------------------- Histogram -------------------- +[0.454 μs ; 0.746 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.746 μs ; 1.054 μs) | @@@@@@@@@ +[1.054 μs ; 1.346 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[1.346 μs ; 1.454 μs) | @@@ +[1.454 μs ; 1.746 μs) | @@@@@@@@@@@@@@@@@@ +[1.746 μs ; 2.046 μs) | @@@@@@ +[2.046 μs ; 2.296 μs) | @@@ +[2.296 μs ; 2.596 μs) | @@ +[2.596 μs ; 2.846 μs) | @ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 299.000 ns, StdErr = 13.962 ns (4.67%), N = 100, StdDev = 139.621 ns +Min = 0.000 ns, Q1 = 200.000 ns, Median = 300.000 ns, Q3 = 400.000 ns, Max = 700.000 ns +IQR = 200.000 ns, LowerFence = -100.000 ns, UpperFence = 700.000 ns +ConfidenceInterval = [251.647 ns; 346.353 ns] (CI 99.9%), Margin = 47.353 ns (15.84% of Mean) +Skewness = 0.55, Kurtosis = 3.24, MValue = 2.15 +-------------------- Histogram -------------------- +[ 0.000 ns ; 60.520 ns) | @ +[ 60.520 ns ; 160.519 ns) | @@@@@@@@@@@@@@ +[160.519 ns ; 239.481 ns) | @@@@@@@@@@@@@@@@@@ +[239.481 ns ; 339.481 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[339.481 ns ; 439.481 ns) | @@@@@@@@@@@@@@@ +[439.481 ns ; 539.481 ns) | @@@@ +[539.481 ns ; 639.481 ns) | @@@@@@@ +[639.481 ns ; 739.481 ns) | @ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 813.8 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 452.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,174.7 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 299.0 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is bimodal (mValue = 3.91) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 6.67) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is bimodal (mValue = 3.94) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 500ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 300ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 6 outliers were removed (1.70 μs..2.20 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 1 outlier was removed (4.50 μs) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.1 sec), executed benchmarks: 4 + +Global total time: 00:00:16 (16.74 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-172800.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-172800.log new file mode 100644 index 000000000..7664d7839 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-172800.log @@ -0,0 +1,1226 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.03 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.25 sec and exited with 0 +// ***** Done, took 00:00:08 (8.33 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.03 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.49 sec and exited with 0 +// ***** Done, took 00:00:06 (6.53 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1656 1776 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 92300.00 ns, 92.3000 us/op +WorkloadJitting 1: 1 op, 118000.00 ns, 118.0000 us/op + +OverheadWarmup 1: 1 op, 400.00 ns, 400.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 0.00 ns, 0.0000 ns/op + +WorkloadWarmup 1: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadWarmup 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 4: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 5: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 6: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 7: 1 op, 1400.00 ns, 1.4000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 8: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 15: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 16: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 18: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 20: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 22: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 31: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 32: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 33: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 34: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 35: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 36: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 37: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 38: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 41: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 43: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 44: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 45: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 47: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 48: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 49: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 50: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 51: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 52: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 58: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 59: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 63: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 64: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 65: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 69: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 70: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 71: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 72: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 73: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 74: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 76: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 77: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 78: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 79: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 80: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 81: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 82: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 83: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 84: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 85: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 87: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 88: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 89: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 90: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 92: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 93: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 94: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 95: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 96: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 97: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 98: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 99: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 100: 1 op, 1000.00 ns, 1.0000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 15: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 20: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 21: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 22: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 32: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 33: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 34: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 35: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 36: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 42: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 43: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 44: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 45: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 46: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 47: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 48: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 49: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 51: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 52: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 53: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 54: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 56: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 57: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 59: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 60: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 61: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 62: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 63: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 64: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 65: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 66: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 71: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 72: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 75: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 76: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 78: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 79: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 80: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 81: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 82: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 84: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 85: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 86: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 87: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 88: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 89: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 90: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 91: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 92: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 93: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 95: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 96: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 97: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 98: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 99: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 100: 1 op, 900.00 ns, 900.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 68944 has exited with code 0. + +Mean = 828.000 ns, StdErr = 21.746 ns (2.63%), N = 100, StdDev = 217.460 ns +Min = 500.000 ns, Q1 = 700.000 ns, Median = 800.000 ns, Q3 = 1,000.000 ns, Max = 1,300.000 ns +IQR = 300.000 ns, LowerFence = 250.000 ns, UpperFence = 1,450.000 ns +ConfidenceInterval = [754.248 ns; 901.752 ns] (CI 99.9%), Margin = 73.752 ns (8.91% of Mean) +Skewness = 0.48, Kurtosis = 2.07, MValue = 3.76 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:28 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1592 1540 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 82100.00 ns, 82.1000 us/op +WorkloadJitting 1: 1 op, 541500.00 ns, 541.5000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 300.00 ns, 300.0000 ns/op +OverheadActual 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadWarmup 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadWarmup 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 6: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 7: 1 op, 700.00 ns, 700.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 3: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 5: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 7: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 9: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 11: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 12: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 18: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 19: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 20: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 21: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 24: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 26: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 30: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 38: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 43: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 44: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 45: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 47: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 48: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 49: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 51: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 52: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 53: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 54: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 57: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 58: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 59: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 60: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 61: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 62: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 63: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 64: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 65: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 66: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 68: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 69: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 71: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 72: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 73: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 74: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 75: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 76: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 77: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 78: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 79: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 80: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 82: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 84: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 85: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 86: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 87: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 88: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 89: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 90: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 91: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 92: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 94: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 95: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 96: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 98: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 100: 1 op, 500.00 ns, 500.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 12: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 13: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 14: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 18: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 19: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 20: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 23: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 24: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 26: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 30: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 31: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 36: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 37: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 44: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 46: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 48: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 51: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 52: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 53: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 54: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 56: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 57: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 58: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 60: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 70: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 71: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 73: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 74: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 75: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 76: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 77: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 78: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 79: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 80: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 81: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 82: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 83: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 86: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 87: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 88: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 89: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 90: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 91: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 93: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 94: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 95: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 96: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 97: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 98: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 99: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 100: 1 op, 400.00 ns, 400.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 37224 has exited with code 0. + +Mean = 404.000 ns, StdErr = 14.419 ns (3.57%), N = 100, StdDev = 144.194 ns +Min = 200.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 800.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [355.096 ns; 452.904 ns] (CI 99.9%), Margin = 48.904 ns (12.10% of Mean) +Skewness = 1.05, Kurtosis = 3.85, MValue = 2.17 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:28 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1656 1776 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 131300.00 ns, 131.3000 us/op +WorkloadJitting 1: 1 op, 90900.00 ns, 90.9000 us/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadWarmup 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 3: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadWarmup 4: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 6: 1 op, 700.00 ns, 700.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 2: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 4: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 5: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 9: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 10: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 19: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 20: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 21: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 22: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 23: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 24: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 25: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 26: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 31: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 32: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 33: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 34: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 35: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 36: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 41: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 42: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 43: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 44: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 45: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 46: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 47: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 49: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 50: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 51: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 52: 1 op, 4400.00 ns, 4.4000 us/op +WorkloadActual 53: 1 op, 3000.00 ns, 3.0000 us/op +WorkloadActual 54: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 55: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 56: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 57: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 58: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 59: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 60: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 61: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 62: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 65: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 67: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 69: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadActual 70: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 71: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 72: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 73: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 74: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 75: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 77: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 78: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 80: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 81: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 82: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 83: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 84: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 85: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 86: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 87: 1 op, 2400.00 ns, 2.4000 us/op +WorkloadActual 88: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 89: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 90: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 91: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 92: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 93: 1 op, 4000.00 ns, 4.0000 us/op +WorkloadActual 94: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 95: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 96: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadActual 97: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 98: 1 op, 3500.00 ns, 3.5000 us/op +WorkloadActual 99: 1 op, 2900.00 ns, 2.9000 us/op +WorkloadActual 100: 1 op, 2900.00 ns, 2.9000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 2: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 3: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 5: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 9: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 10: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 11: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 17: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 21: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 22: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 27: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 39: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 40: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 42: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 43: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 44: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 45: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 46: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 47: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 48: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 49: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 50: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 51: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadResult 52: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 53: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 54: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 56: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 57: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 58: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 59: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 60: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 61: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 62: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 63: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 64: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 66: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadResult 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 68: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 69: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 70: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 72: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 73: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 74: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 75: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 77: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 78: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 79: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 80: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 81: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 82: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 83: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadResult 84: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadResult 85: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 86: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadResult 87: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadResult 88: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 89: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadResult 90: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadResult 91: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadResult 92: 1 op, 2700.00 ns, 2.7000 us/op +WorkloadResult 93: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadResult 94: 1 op, 2800.00 ns, 2.8000 us/op +WorkloadResult 95: 1 op, 2800.00 ns, 2.8000 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 62452 has exited with code 0. + +Mean = 1.221 μs, StdErr = 0.062 μs (5.09%), N = 95, StdDev = 0.606 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.800 μs +IQR = 0.700 μs, LowerFence = -0.350 μs, UpperFence = 2.450 μs +ConfidenceInterval = [1.010 μs; 1.432 μs] (CI 99.9%), Margin = 0.211 μs (17.30% of Mean) +Skewness = 1.07, Kurtosis = 3.37, MValue = 3.17 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:28 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1872 1580 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 125500.00 ns, 125.5000 us/op +WorkloadJitting 1: 1 op, 1924700.00 ns, 1.9247 ms/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 6: 1 op, 800.00 ns, 800.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 7: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 9: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 13: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 15: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 18: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 19: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 20: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 21: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 23: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 24: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 25: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 27: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 30: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 31: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 36: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 37: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 38: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 39: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 43: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 44: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 45: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 47: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 48: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 50: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 51: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 55: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 58: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 61: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 62: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 63: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 71: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 75: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 76: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 78: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 79: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 81: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 82: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 83: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 86: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 87: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 88: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 90: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 91: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 93: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 94: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 95: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 96: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 97: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 98: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 100: 1 op, 300.00 ns, 300.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 2: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 3: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 5: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 6: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 7: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 8: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 11: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 12: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 13: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 17: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 19: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 20: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 21: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 22: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 23: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 24: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 25: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 27: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 30: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 31: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 32: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 35: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 40: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 42: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 44: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 45: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 46: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 47: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 51: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 53: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 55: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 56: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 57: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 58: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 59: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 61: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 63: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 64: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 67: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 68: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 69: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 70: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 71: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 75: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 76: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 77: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 81: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 82: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 83: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 84: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 86: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 89: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 90: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 92: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 93: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 94: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 95: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 96: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 97: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 98: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 99: 1 op, 200.00 ns, 200.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 36528 has exited with code 0. + +Mean = 240.404 ns, StdErr = 12.995 ns (5.41%), N = 99, StdDev = 129.299 ns +Min = 100.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 300.000 ns, Max = 600.000 ns +IQR = 200.000 ns, LowerFence = -200.000 ns, UpperFence = 600.000 ns +ConfidenceInterval = [196.317 ns; 284.491 ns] (CI 99.9%), Margin = 44.087 ns (18.34% of Mean) +Skewness = 0.97, Kurtosis = 3.54, MValue = 6 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:28 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 828.000 ns, StdErr = 21.746 ns (2.63%), N = 100, StdDev = 217.460 ns +Min = 500.000 ns, Q1 = 700.000 ns, Median = 800.000 ns, Q3 = 1,000.000 ns, Max = 1,300.000 ns +IQR = 300.000 ns, LowerFence = 250.000 ns, UpperFence = 1,450.000 ns +ConfidenceInterval = [754.248 ns; 901.752 ns] (CI 99.9%), Margin = 73.752 ns (8.91% of Mean) +Skewness = 0.48, Kurtosis = 2.07, MValue = 3.76 +-------------------- Histogram -------------------- +[ 438.509 ns ; 561.491 ns) | @@@@@ +[ 561.491 ns ; 711.491 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 711.491 ns ; 788.509 ns) | +[ 788.509 ns ; 911.491 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@ +[ 911.491 ns ; 1,061.491 ns) | @@@@@@@ +[1,061.491 ns ; 1,211.491 ns) | @@@@@@@@@@@@@@@@@@@ +[1,211.491 ns ; 1,361.491 ns) | @@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 404.000 ns, StdErr = 14.419 ns (3.57%), N = 100, StdDev = 144.194 ns +Min = 200.000 ns, Q1 = 300.000 ns, Median = 400.000 ns, Q3 = 500.000 ns, Max = 800.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [355.096 ns; 452.904 ns] (CI 99.9%), Margin = 48.904 ns (12.10% of Mean) +Skewness = 1.05, Kurtosis = 3.85, MValue = 2.17 +-------------------- Histogram -------------------- +[159.226 ns ; 240.774 ns) | @@@@@@@@ +[240.774 ns ; 340.774 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[340.774 ns ; 440.774 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@ +[440.774 ns ; 540.774 ns) | @@@@@@@@@@@@@@@@@ +[540.774 ns ; 640.774 ns) | @@@@@@ +[640.774 ns ; 740.774 ns) | @@ +[740.774 ns ; 840.774 ns) | @@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.221 μs, StdErr = 0.062 μs (5.09%), N = 95, StdDev = 0.606 μs +Min = 0.500 μs, Q1 = 0.700 μs, Median = 1.200 μs, Q3 = 1.400 μs, Max = 2.800 μs +IQR = 0.700 μs, LowerFence = -0.350 μs, UpperFence = 2.450 μs +ConfidenceInterval = [1.010 μs; 1.432 μs] (CI 99.9%), Margin = 0.211 μs (17.30% of Mean) +Skewness = 1.07, Kurtosis = 3.37, MValue = 3.17 +-------------------- Histogram -------------------- +[0.326 μs ; 0.576 μs) | @@ +[0.576 μs ; 0.924 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.924 μs ; 1.076 μs) | +[1.076 μs ; 1.424 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.424 μs ; 1.676 μs) | @@ +[1.676 μs ; 2.024 μs) | @@@@@@@@@@ +[2.024 μs ; 2.374 μs) | @@@@ +[2.374 μs ; 2.576 μs) | +[2.576 μs ; 2.974 μs) | @@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 240.404 ns, StdErr = 12.995 ns (5.41%), N = 99, StdDev = 129.299 ns +Min = 100.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 300.000 ns, Max = 600.000 ns +IQR = 200.000 ns, LowerFence = -200.000 ns, UpperFence = 600.000 ns +ConfidenceInterval = [196.317 ns; 284.491 ns] (CI 99.9%), Margin = 44.087 ns (18.34% of Mean) +Skewness = 0.97, Kurtosis = 3.54, MValue = 6 +-------------------- Histogram -------------------- +[ 63.316 ns ; 136.685 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@ +[136.685 ns ; 163.315 ns) | +[163.315 ns ; 236.685 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[236.685 ns ; 263.315 ns) | +[263.315 ns ; 336.685 ns) | @@@@@@@@@@@@@@@@@@@@@@ +[336.685 ns ; 363.315 ns) | +[363.315 ns ; 436.685 ns) | @@@@@@@@@@ +[436.685 ns ; 463.316 ns) | +[463.316 ns ; 536.684 ns) | @@@ +[536.684 ns ; 563.316 ns) | +[563.316 ns ; 636.685 ns) | @@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 828.0 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 404.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,221.1 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 240.4 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is bimodal (mValue = 3.76) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution can have several modes (mValue = 3.17) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 6) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 300ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 200ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 5 outliers were removed (3.00 μs..4.40 μs) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> 1 outlier was removed (800.00 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.16 sec), executed benchmarks: 4 + +Global total time: 00:00:16 (16.71 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-173753.log b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-173753.log new file mode 100644 index 000000000..f66bab1f3 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260220-173753.log @@ -0,0 +1,1210 @@ +// Validating benchmarks: +// ***** BenchmarkRunner: Start ***** +// ***** Found 4 benchmark(s) in total ***** +// ***** Building 1 exe(s) in Parallel: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 1.09 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1 +// command took 7.5 sec and exited with 0 +// ***** Done, took 00:00:08 (8.64 sec) ***** +// ***** Building 1 exe(s) in Sequential: Start ***** +// start dotnet restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 1.06 sec and exited with 0 +// start dotnet build -c Release --no-restore --nodeReuse:false /p:UseSharedCompilation=false /p:Deterministic=true /p:Optimize=true /p:ArtifactsPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2/" /p:OutDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:OutputPath="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" /p:PublishDir="D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\publish/" --output "D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481/" in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2 +// command took 5.58 sec and exited with 0 +// ***** Done, took 00:00:06 (6.65 sec) ***** +// Found 4 benchmarks: +// AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) + +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 2420 2428 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET 10.0" --benchmarkId 0 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 99200.00 ns, 99.2000 us/op +WorkloadJitting 1: 1 op, 117800.00 ns, 117.8000 us/op + +OverheadWarmup 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 200.00 ns, 200.0000 ns/op + +WorkloadWarmup 1: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadWarmup 2: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadWarmup 3: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadWarmup 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadWarmup 5: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadWarmup 6: 1 op, 1000.00 ns, 1.0000 us/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 3: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 5: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 6: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 7: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 8: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 10: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 11: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 12: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 13: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 14: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 16: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 17: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 23: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 24: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 26: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 31: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 34: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 37: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 38: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 39: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 42: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 43: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 44: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 45: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 46: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 47: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 48: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 49: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 50: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 53: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 54: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 55: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 56: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 58: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 59: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 60: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 61: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 63: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 64: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 65: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 66: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 67: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 69: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 70: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 71: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 72: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 73: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 74: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 75: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 76: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 78: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 79: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 80: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 81: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 82: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 83: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 84: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 85: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 86: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 87: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 88: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 89: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 90: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 91: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 92: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 93: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 94: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 95: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 96: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 97: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 98: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 99: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 100: 1 op, 1400.00 ns, 1.4000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadResult 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 5: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 6: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 7: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 8: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 9: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 11: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 13: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 14: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 15: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 16: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 18: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 19: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 20: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 22: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 25: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 26: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 27: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 28: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 29: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 30: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 31: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 32: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 34: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 38: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 40: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 41: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 42: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 43: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 44: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 45: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 46: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 47: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 48: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 49: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 50: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 51: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 52: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 53: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 54: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 55: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 56: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 57: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 58: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 59: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 60: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 61: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 62: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 63: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 64: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 65: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 66: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 67: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 68: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 70: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 71: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadResult 72: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadResult 73: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 74: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 75: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 76: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 77: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 78: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 79: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 80: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 81: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 82: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadResult 83: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 84: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadResult 85: 1 op, 700.00 ns, 700.0000 ns/op +// GC: 0 0 0 200 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 31312 has exited with code 0. + +Mean = 697.647 ns, StdErr = 17.066 ns (2.45%), N = 85, StdDev = 157.341 ns +Min = 400.000 ns, Q1 = 600.000 ns, Median = 700.000 ns, Q3 = 700.000 ns, Max = 1,100.000 ns +IQR = 100.000 ns, LowerFence = 450.000 ns, UpperFence = 850.000 ns +ConfidenceInterval = [639.449 ns; 755.845 ns] (CI 99.9%), Margin = 58.198 ns (8.34% of Mean) +Skewness = 1.13, Kurtosis = 4.01, MValue = 5.1 + +// ** Remained 3 (75.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:38 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: dotnet BouncyCastle.Crypto.Benchmarks-1.dll --anonymousPipes 1828 1820 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET 10.0" --benchmarkId 1 in D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-1\bin\Release\net10.0 +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 +// GC=Concurrent Workstation +// HardwareIntrinsics=AVX2+BMI1+BMI2+F16C+FMA+LZCNT+MOVBE,AVX,SSE3+SSSE3+SSE4.1+SSE4.2+POPCNT,X86Base+SSE+SSE2,AES+PCLMUL,AvxVnni,SERIALIZE VectorSize=256 +// Job: .NET 10.0(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 77500.00 ns, 77.5000 us/op +WorkloadJitting 1: 1 op, 543300.00 ns, 543.3000 us/op + +OverheadWarmup 1: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 12: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 5400.00 ns, 5.4000 us/op +WorkloadWarmup 2: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadWarmup 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 8: 1 op, 500.00 ns, 500.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 2: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 4: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 7: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 8: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 9: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 10: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 11: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 12: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 13: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 16: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 17: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 18: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 19: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 20: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 21: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 22: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 23: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 24: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 25: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 27: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 28: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 29: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 30: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 31: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 32: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 33: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 35: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 36: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 37: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 39: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 40: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 41: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 42: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 43: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 44: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 45: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 46: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 47: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 48: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 49: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 51: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 52: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 53: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 54: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 55: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 56: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 57: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 58: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 59: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 60: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 61: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 62: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 63: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 65: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 66: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 67: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 68: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 69: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 70: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 71: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 72: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 73: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 74: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 75: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 76: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 77: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 78: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 79: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 80: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 81: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 82: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 83: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 84: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 85: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 86: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 87: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 88: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 89: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 90: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 91: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 92: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 93: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 94: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 95: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 96: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 97: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 98: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 99: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 100: 1 op, 500.00 ns, 500.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 2: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 4: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 5: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 6: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 7: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 8: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 9: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 11: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 12: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 13: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 14: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 15: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 16: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadResult 17: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 18: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 19: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 20: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 21: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 22: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 23: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 24: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 25: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 27: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 28: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 29: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 30: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 31: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 32: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 36: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 38: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 39: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 40: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 41: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 44: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 45: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 46: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 49: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 50: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 51: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 52: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 55: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 56: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 58: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 59: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 61: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 64: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 65: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 66: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 67: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 68: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 69: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 70: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 71: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 72: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 73: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 74: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 75: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 76: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 77: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 78: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 79: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 81: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 82: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 83: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 84: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 85: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 86: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 87: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 88: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 89: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 90: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 91: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 92: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 93: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 94: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 95: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadResult 96: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 97: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 98: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 99: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadResult 100: 1 op, 400.00 ns, 400.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 2540 has exited with code 0. + +Mean = 377.000 ns, StdErr = 11.088 ns (2.94%), N = 100, StdDev = 110.878 ns +Min = 200.000 ns, Q1 = 300.000 ns, Median = 300.000 ns, Q3 = 500.000 ns, Max = 700.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [339.395 ns; 414.605 ns] (CI 99.9%), Margin = 37.605 ns (9.97% of Mean) +Skewness = 0.68, Kurtosis = 3.13, MValue = 4.44 + +// ** Remained 2 (50.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:38 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1532 2420 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.Init --job ".NET Framework 4.8.1" --benchmarkId 0 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 127900.00 ns, 127.9000 us/op +WorkloadJitting 1: 1 op, 92800.00 ns, 92.8000 us/op + +OverheadWarmup 1: 1 op, 1000.00 ns, 1.0000 us/op +OverheadWarmup 2: 1 op, 200.00 ns, 200.0000 ns/op +OverheadWarmup 3: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 7: 1 op, 100.00 ns, 100.0000 ns/op + +OverheadActual 1: 1 op, 300.00 ns, 300.0000 ns/op +OverheadActual 2: 1 op, 400.00 ns, 400.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 5: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 9: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 16: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 17: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 18: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 19: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadWarmup 2: 1 op, 2200.00 ns, 2.2000 us/op +WorkloadWarmup 3: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 4: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadWarmup 5: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadWarmup 6: 1 op, 900.00 ns, 900.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 2: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 3: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 4: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 5: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 6: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 7: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 8: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 9: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 10: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 11: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 12: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 13: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 14: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 15: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 16: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 17: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 18: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 19: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 20: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 21: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 22: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 23: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 24: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 25: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 26: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 27: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 28: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 29: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 30: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 31: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 32: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 33: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 34: 1 op, 900.00 ns, 900.0000 ns/op +WorkloadActual 35: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 37: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 38: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 39: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 40: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 41: 1 op, 1000.00 ns, 1.0000 us/op +WorkloadActual 42: 1 op, 2000.00 ns, 2.0000 us/op +WorkloadActual 43: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 44: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 45: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 46: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 47: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 48: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 49: 1 op, 3400.00 ns, 3.4000 us/op +WorkloadActual 50: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 51: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 52: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 53: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 54: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 55: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 56: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 57: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 58: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 59: 1 op, 3300.00 ns, 3.3000 us/op +WorkloadActual 60: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 61: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 62: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 63: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 64: 1 op, 2500.00 ns, 2.5000 us/op +WorkloadActual 65: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 66: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 67: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 68: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 69: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 70: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 71: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 72: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 73: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 74: 1 op, 800.00 ns, 800.0000 ns/op +WorkloadActual 75: 1 op, 2100.00 ns, 2.1000 us/op +WorkloadActual 76: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 77: 1 op, 1800.00 ns, 1.8000 us/op +WorkloadActual 78: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 79: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 80: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 81: 1 op, 1400.00 ns, 1.4000 us/op +WorkloadActual 82: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 83: 1 op, 1100.00 ns, 1.1000 us/op +WorkloadActual 84: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 85: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 86: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 87: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 88: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 89: 1 op, 1200.00 ns, 1.2000 us/op +WorkloadActual 90: 1 op, 1900.00 ns, 1.9000 us/op +WorkloadActual 91: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 92: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 93: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 94: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 95: 1 op, 1500.00 ns, 1.5000 us/op +WorkloadActual 96: 1 op, 1700.00 ns, 1.7000 us/op +WorkloadActual 97: 1 op, 1600.00 ns, 1.6000 us/op +WorkloadActual 98: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 99: 1 op, 1300.00 ns, 1.3000 us/op +WorkloadActual 100: 1 op, 1300.00 ns, 1.3000 us/op + +// AfterActualRun +WorkloadResult 1: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 2: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 3: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 4: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 5: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 6: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 7: 1 op, 950.00 ns, 950.0000 ns/op +WorkloadResult 8: 1 op, 1050.00 ns, 1.0500 us/op +WorkloadResult 9: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 10: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 11: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 12: 1 op, 1650.00 ns, 1.6500 us/op +WorkloadResult 13: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 14: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 15: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 16: 1 op, 550.00 ns, 550.0000 ns/op +WorkloadResult 17: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 18: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 19: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 20: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 21: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 22: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 23: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 24: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 25: 1 op, 550.00 ns, 550.0000 ns/op +WorkloadResult 26: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 27: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 28: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 29: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 30: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 31: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 32: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 33: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 34: 1 op, 850.00 ns, 850.0000 ns/op +WorkloadResult 35: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 36: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 37: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 38: 1 op, 2050.00 ns, 2.0500 us/op +WorkloadResult 39: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 40: 1 op, 650.00 ns, 650.0000 ns/op +WorkloadResult 41: 1 op, 950.00 ns, 950.0000 ns/op +WorkloadResult 42: 1 op, 1950.00 ns, 1.9500 us/op +WorkloadResult 43: 1 op, 1550.00 ns, 1.5500 us/op +WorkloadResult 44: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 45: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 46: 1 op, 1550.00 ns, 1.5500 us/op +WorkloadResult 47: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 48: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 49: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 50: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 51: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 52: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 53: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 54: 1 op, 1150.00 ns, 1.1500 us/op +WorkloadResult 55: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 56: 1 op, 1650.00 ns, 1.6500 us/op +WorkloadResult 57: 1 op, 1650.00 ns, 1.6500 us/op +WorkloadResult 58: 1 op, 1550.00 ns, 1.5500 us/op +WorkloadResult 59: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 60: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 61: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 62: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 63: 1 op, 1450.00 ns, 1.4500 us/op +WorkloadResult 64: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 65: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 66: 1 op, 1450.00 ns, 1.4500 us/op +WorkloadResult 67: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 68: 1 op, 1450.00 ns, 1.4500 us/op +WorkloadResult 69: 1 op, 1050.00 ns, 1.0500 us/op +WorkloadResult 70: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 71: 1 op, 750.00 ns, 750.0000 ns/op +WorkloadResult 72: 1 op, 2050.00 ns, 2.0500 us/op +WorkloadResult 73: 1 op, 1150.00 ns, 1.1500 us/op +WorkloadResult 74: 1 op, 1750.00 ns, 1.7500 us/op +WorkloadResult 75: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 76: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 77: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 78: 1 op, 1350.00 ns, 1.3500 us/op +WorkloadResult 79: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 80: 1 op, 1050.00 ns, 1.0500 us/op +WorkloadResult 81: 1 op, 1150.00 ns, 1.1500 us/op +WorkloadResult 82: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 83: 1 op, 550.00 ns, 550.0000 ns/op +WorkloadResult 84: 1 op, 1150.00 ns, 1.1500 us/op +WorkloadResult 85: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 86: 1 op, 1150.00 ns, 1.1500 us/op +WorkloadResult 87: 1 op, 1850.00 ns, 1.8500 us/op +WorkloadResult 88: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 89: 1 op, 1450.00 ns, 1.4500 us/op +WorkloadResult 90: 1 op, 1550.00 ns, 1.5500 us/op +WorkloadResult 91: 1 op, 1450.00 ns, 1.4500 us/op +WorkloadResult 92: 1 op, 1450.00 ns, 1.4500 us/op +WorkloadResult 93: 1 op, 1650.00 ns, 1.6500 us/op +WorkloadResult 94: 1 op, 1550.00 ns, 1.5500 us/op +WorkloadResult 95: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 96: 1 op, 1250.00 ns, 1.2500 us/op +WorkloadResult 97: 1 op, 1250.00 ns, 1.2500 us/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 58228 has exited with code 0. + +Mean = 1.117 μs, StdErr = 0.037 μs (3.34%), N = 97, StdDev = 0.367 μs +Min = 0.550 μs, Q1 = 0.750 μs, Median = 1.250 μs, Q3 = 1.350 μs, Max = 2.050 μs +IQR = 0.600 μs, LowerFence = -0.150 μs, UpperFence = 2.250 μs +ConfidenceInterval = [0.990 μs; 1.244 μs] (CI 99.9%), Margin = 0.127 μs (11.33% of Mean) +Skewness = 0.35, Kurtosis = 2.37, MValue = 5.37 + +// ** Remained 1 (25.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:38 (0h 0m from now) ** +Setup power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ************************** +// Benchmark: AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +// *** Execute *** +// Launch: 1 / 1 +// Execute: D:\repos\bcgit\bc-csharp\crypto\benchmark\BouncyCastle.Crypto.Benchmarks\bin\Release\net10.0\BouncyCastle.Crypto.Benchmarks-2\bin\Release\net481\BouncyCastle.Crypto.Benchmarks-2.exe --anonymousPipes 1212 2264 --benchmarkName BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks.ProcessBlock --job ".NET Framework 4.8.1" --benchmarkId 1 in +// BeforeAnythingElse + +// Benchmark Process Environment Information: +// BenchmarkDotNet v0.15.8 +// Runtime=.NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 +// GC=Concurrent Workstation +// HardwareIntrinsics= VectorSize=256 +// Job: .NET Framework 4.8.1(InvocationCount=1, UnrollFactor=1) + +OverheadJitting 1: 1 op, 126000.00 ns, 126.0000 us/op +WorkloadJitting 1: 1 op, 1863900.00 ns, 1.8639 ms/op + +OverheadWarmup 1: 1 op, 1100.00 ns, 1.1000 us/op +OverheadWarmup 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadWarmup 5: 1 op, 0.00 ns, 0.0000 ns/op +OverheadWarmup 6: 1 op, 0.00 ns, 0.0000 ns/op + +OverheadActual 1: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 2: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 3: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 4: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 5: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 6: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 7: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 8: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 9: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 10: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 11: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 12: 1 op, 0.00 ns, 0.0000 ns/op +OverheadActual 13: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 14: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 15: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 16: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 17: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 18: 1 op, 200.00 ns, 200.0000 ns/op +OverheadActual 19: 1 op, 100.00 ns, 100.0000 ns/op +OverheadActual 20: 1 op, 100.00 ns, 100.0000 ns/op + +WorkloadWarmup 1: 1 op, 2300.00 ns, 2.3000 us/op +WorkloadWarmup 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadWarmup 3: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadWarmup 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadWarmup 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadWarmup 6: 1 op, 400.00 ns, 400.0000 ns/op + +// BeforeActualRun +WorkloadActual 1: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 2: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 3: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 4: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 5: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 6: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 7: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 8: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 9: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 10: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 11: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 12: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 13: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 14: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 15: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 16: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 17: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 18: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 19: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 20: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 21: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 22: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 23: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 24: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 25: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 26: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 27: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 28: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 29: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 30: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 31: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 32: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 33: 1 op, 600.00 ns, 600.0000 ns/op +WorkloadActual 34: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 35: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 36: 1 op, 700.00 ns, 700.0000 ns/op +WorkloadActual 37: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 38: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 41: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 42: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 43: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 44: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 45: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 46: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 48: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 49: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 50: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 51: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 52: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 53: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 54: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 55: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 57: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 58: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 59: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 60: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 61: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 62: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 63: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 64: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 65: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 66: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 67: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadActual 68: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 69: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 70: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 71: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 72: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 73: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 74: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 76: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 77: 1 op, 500.00 ns, 500.0000 ns/op +WorkloadActual 78: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 79: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 80: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 81: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 82: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 83: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 84: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 85: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 86: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 88: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 89: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 90: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 92: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 93: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 94: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 95: 1 op, 400.00 ns, 400.0000 ns/op +WorkloadActual 96: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 97: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadActual 98: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 99: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadActual 100: 1 op, 300.00 ns, 300.0000 ns/op + +// AfterActualRun +WorkloadResult 1: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 2: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 3: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 4: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 5: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 6: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 7: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 8: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 9: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 10: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 11: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 12: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 13: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 14: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 15: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 16: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 17: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 18: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 19: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 20: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 21: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 22: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 23: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 24: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 25: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 26: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 27: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 28: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 29: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 30: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 31: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 32: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 33: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 34: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 35: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 36: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 37: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 38: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 39: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 40: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 41: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 42: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 43: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 44: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 45: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 46: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 47: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 48: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 49: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 50: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 51: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 52: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 53: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 54: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 55: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 56: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 57: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 58: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 59: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 60: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 61: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 62: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 63: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 64: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 65: 1 op, 0.00 ns, 0.0000 ns/op +WorkloadResult 66: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 67: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 68: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 69: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 70: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 71: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 72: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 73: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 74: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 75: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 76: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 77: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 78: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 79: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 80: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 81: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 82: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 83: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 84: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 85: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 86: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 87: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 88: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 89: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 90: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 91: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 92: 1 op, 300.00 ns, 300.0000 ns/op +WorkloadResult 93: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 94: 1 op, 200.00 ns, 200.0000 ns/op +WorkloadResult 95: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 96: 1 op, 100.00 ns, 100.0000 ns/op +WorkloadResult 97: 1 op, 200.00 ns, 200.0000 ns/op +// GC: 0 0 0 0 1 +// Threading: 0 0 1 + +// AfterAll +// Benchmark Process 5852 has exited with code 0. + +Mean = 162.887 ns, StdErr = 8.202 ns (5.04%), N = 97, StdDev = 80.777 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [135.044 ns; 190.729 ns] (CI 99.9%), Margin = 27.843 ns (17.09% of Mean) +Skewness = 0.29, Kurtosis = 2.23, MValue = 4.41 + +// ** Remained 0 (0.0%) benchmark(s) to run. Estimated finish 2026-02-20 17:38 (0h 0m from now) ** +Successfully reverted power plan (GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c FriendlyName: High performance) +// ***** BenchmarkRunner: Finish ***** + +// * Export * + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md + BenchmarkDotNet.Artifacts\results\BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html + +// * Detailed results * +AesEngineBenchmarks.Init: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 697.647 ns, StdErr = 17.066 ns (2.45%), N = 85, StdDev = 157.341 ns +Min = 400.000 ns, Q1 = 600.000 ns, Median = 700.000 ns, Q3 = 700.000 ns, Max = 1,100.000 ns +IQR = 100.000 ns, LowerFence = 450.000 ns, UpperFence = 850.000 ns +ConfidenceInterval = [639.449 ns; 755.845 ns] (CI 99.9%), Margin = 58.198 ns (8.34% of Mean) +Skewness = 1.13, Kurtosis = 4.01, MValue = 5.1 +-------------------- Histogram -------------------- +[ 353.032 ns ; 453.032 ns) | @ +[ 453.032 ns ; 553.032 ns) | @@@@@@@@@ +[ 553.032 ns ; 653.032 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 653.032 ns ; 746.968 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[ 746.968 ns ; 846.968 ns) | @@@@@@@@@@ +[ 846.968 ns ; 953.032 ns) | @ +[ 953.032 ns ; 1,053.032 ns) | @@@ +[1,053.032 ns ; 1,146.968 ns) | @@@@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET 10.0(Runtime=.NET 10.0, InvocationCount=1, UnrollFactor=1) +Runtime = .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3; GC = Concurrent Workstation +Mean = 377.000 ns, StdErr = 11.088 ns (2.94%), N = 100, StdDev = 110.878 ns +Min = 200.000 ns, Q1 = 300.000 ns, Median = 300.000 ns, Q3 = 500.000 ns, Max = 700.000 ns +IQR = 200.000 ns, LowerFence = 0.000 ns, UpperFence = 800.000 ns +ConfidenceInterval = [339.395 ns; 414.605 ns] (CI 99.9%), Margin = 37.605 ns (9.97% of Mean) +Skewness = 0.68, Kurtosis = 3.13, MValue = 4.44 +-------------------- Histogram -------------------- +[168.647 ns ; 231.353 ns) | @@@@@@@ +[231.353 ns ; 268.647 ns) | +[268.647 ns ; 331.353 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[331.353 ns ; 368.647 ns) | +[368.647 ns ; 431.353 ns) | @@@@@@@@@@@@@@@@@@ +[431.353 ns ; 468.647 ns) | +[468.647 ns ; 531.353 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@ +[531.353 ns ; 594.059 ns) | +[594.059 ns ; 668.647 ns) | +[668.647 ns ; 731.353 ns) | @@@ +--------------------------------------------------- + +AesEngineBenchmarks.Init: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 1.117 μs, StdErr = 0.037 μs (3.34%), N = 97, StdDev = 0.367 μs +Min = 0.550 μs, Q1 = 0.750 μs, Median = 1.250 μs, Q3 = 1.350 μs, Max = 2.050 μs +IQR = 0.600 μs, LowerFence = -0.150 μs, UpperFence = 2.250 μs +ConfidenceInterval = [0.990 μs; 1.244 μs] (CI 99.9%), Margin = 0.127 μs (11.33% of Mean) +Skewness = 0.35, Kurtosis = 2.37, MValue = 5.37 +-------------------- Histogram -------------------- +[0.445 μs ; 0.645 μs) | @@@ +[0.645 μs ; 0.855 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[0.855 μs ; 0.945 μs) | +[0.945 μs ; 1.155 μs) | @@@@@@@@@@ +[1.155 μs ; 1.245 μs) | +[1.245 μs ; 1.455 μs) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[1.455 μs ; 1.545 μs) | +[1.545 μs ; 1.755 μs) | @@@@@@@@@@ +[1.755 μs ; 1.845 μs) | +[1.845 μs ; 2.055 μs) | @@@@ +--------------------------------------------------- + +AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1(Runtime=.NET Framework 4.8.1, InvocationCount=1, UnrollFactor=1) +Runtime = .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256; GC = Concurrent Workstation +Mean = 162.887 ns, StdErr = 8.202 ns (5.04%), N = 97, StdDev = 80.777 ns +Min = 0.000 ns, Q1 = 100.000 ns, Median = 200.000 ns, Q3 = 200.000 ns, Max = 300.000 ns +IQR = 100.000 ns, LowerFence = -50.000 ns, UpperFence = 350.000 ns +ConfidenceInterval = [135.044 ns; 190.729 ns] (CI 99.9%), Margin = 27.843 ns (17.09% of Mean) +Skewness = 0.29, Kurtosis = 2.23, MValue = 4.41 +-------------------- Histogram -------------------- +[ 0.000 ns ; 23.074 ns) | @@@@ +[ 23.074 ns ; 76.926 ns) | +[ 76.926 ns ; 123.074 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[123.074 ns ; 176.926 ns) | +[176.926 ns ; 223.074 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +[223.074 ns ; 276.926 ns) | +[276.926 ns ; 323.074 ns) | @@@@@@@@@@@@@@@@ +--------------------------------------------------- + +// * Summary * + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 697.6 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 377.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,117.0 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 162.9 ns | - | + +// * Warnings * +MultimodalDistribution + AesEngineBenchmarks.Init: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 5.1) + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> It seems that the distribution is multimodal (mValue = 4.44) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 5.37) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> It seems that the distribution is multimodal (mValue = 4.41) +MinIterationTime + AesEngineBenchmarks.Init: .NET 10.0 -> The minimum observed iteration time is 500ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET 10.0 -> The minimum observed iteration time is 300ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> The minimum observed iteration time is 600ns which is very small. It's recommended to increase it to at least 100ms using more operations. + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> The minimum observed iteration time is 100ns which is very small. It's recommended to increase it to at least 100ms using more operations. + +// * Hints * +HideColumnsAnalyser + Summary -> Hidden columns: Error, StdDev, Median +Outliers + AesEngineBenchmarks.Init: .NET 10.0 -> 15 outliers were removed (1.30 μs..2.10 μs) + AesEngineBenchmarks.Init: .NET Framework 4.8.1 -> 3 outliers were removed (2.50 μs..3.40 μs) + AesEngineBenchmarks.ProcessBlock: .NET Framework 4.8.1 -> 3 outliers were removed (500.00 ns..700.00 ns) + +// * Legends * + Mean : Arithmetic mean of all measurements + Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B) + 1 ns : 1 Nanosecond (0.000000001 sec) + +// * Diagnostic Output - MemoryDiagnoser * + + +// ***** BenchmarkRunner: End ***** +Run time: 00:00:01 (1.1 sec), executed benchmarks: 4 + +Global total time: 00:00:17 (17.1 sec), executed benchmarks: 4 +// * Artifacts cleanup * +Artifacts cleanup is finished diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md new file mode 100644 index 000000000..6197526ec --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report-github.md @@ -0,0 +1,18 @@ +``` + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + +InvocationCount=1 UnrollFactor=1 + +``` +| Method | Job | Runtime | Mean | Allocated | +|------------- |--------------------- |--------------------- |-----------:|----------:| +| Init | .NET 10.0 | .NET 10.0 | 883.8 ns | 200 B | +| ProcessBlock | .NET 10.0 | .NET 10.0 | 422.0 ns | - | +| Init | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1,480.6 ns | - | +| ProcessBlock | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 142.1 ns | - | diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv new file mode 100644 index 000000000..55e3f843e --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.csv @@ -0,0 +1,5 @@ +Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Median,Allocated +Init,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,1,Default,883.8 ns,78.65 ns,230.66 ns,800.0 ns,200 B +ProcessBlock,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,1,Default,422.0 ns,38.13 ns,112.44 ns,400.0 ns,0 B +Init,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,1,Default,"1,480.6 ns",232.96 ns,679.55 ns,"1,400.0 ns",0 B +ProcessBlock,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,1,Default,142.1 ns,31.58 ns,90.60 ns,100.0 ns,0 B diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html new file mode 100644 index 000000000..4fe76c421 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-report.html @@ -0,0 +1,35 @@ + + + + +BouncyCastle.Crypto.Benchmarks.AesEngineBenchmarks-20260223-195223 + + + + +

+BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2)
+13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores
+.NET SDK 10.0.200-preview.0.26103.119
+  [Host]               : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3
+  .NET 10.0            : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3
+  .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256
+
+
InvocationCount=1  UnrollFactor=1  
+
+ + + + + + + + +
MethodJob Runtime MeanAllocated
Init.NET 10.0.NET 10.0883.8 ns200 B
ProcessBlock.NET 10.0.NET 10.0422.0 ns-
Init.NET Framework 4.8.1.NET Framework 4.8.11,480.6 ns-
ProcessBlock.NET Framework 4.8.1.NET Framework 4.8.1142.1 ns-
+ + diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report-github.md b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report-github.md new file mode 100644 index 000000000..35ffd7f59 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report-github.md @@ -0,0 +1,13 @@ +``` + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.102 + [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3 + + +``` +| Method | Mean | Error | StdDev | +|------- |---------:|--------:|--------:| +| Init | 243.0 ns | 4.14 ns | 3.67 ns | diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.csv b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.csv new file mode 100644 index 000000000..f06c0fa82 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.csv @@ -0,0 +1,2 @@ +Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev +Init,DefaultJob,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,243.0 ns,4.14 ns,3.67 ns diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.html b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.html new file mode 100644 index 000000000..8137aba59 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-report.html @@ -0,0 +1,30 @@ + + + + +BouncyCastle.Crypto.Benchmarks.AriaEngineInitBenchmark-20260210-084800 + + + + +

+BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7705/25H2/2025Update/HudsonValley2)
+13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores
+.NET SDK 10.0.102
+  [Host]     : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3
+  DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3
+
+
+ + + + + +
MethodMeanErrorStdDev
Init243.0 ns4.14 ns3.67 ns
+ + diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report-github.md b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report-github.md new file mode 100644 index 000000000..46794c25f --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report-github.md @@ -0,0 +1,23 @@ +``` + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + + +``` +| Method | Job | Runtime | Mean | +|--------------------- |--------------------- |--------------------- |---------:| +| CloneSmall16Bytes | .NET 10.0 | .NET 10.0 | 33.67 ns | +| CloneMedium128Bytes | .NET 10.0 | .NET 10.0 | 34.57 ns | +| CloneLarge1024Bytes | .NET 10.0 | .NET 10.0 | 54.17 ns | +| CloneInt128Elements | .NET 10.0 | .NET 10.0 | 43.81 ns | +| CloneLong128Elements | .NET 10.0 | .NET 10.0 | 52.19 ns | +| CloneSmall16Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 19.86 ns | +| CloneMedium128Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 23.58 ns | +| CloneLarge1024Bytes | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 46.47 ns | +| CloneInt128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 32.95 ns | +| CloneLong128Elements | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 45.18 ns | diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.csv b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.csv new file mode 100644 index 000000000..383f2a37c --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.csv @@ -0,0 +1,11 @@ +Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Median +CloneSmall16Bytes,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,33.67 ns,0.092 ns,0.082 ns,33.65 ns +CloneMedium128Bytes,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,34.57 ns,0.378 ns,0.335 ns,34.41 ns +CloneLarge1024Bytes,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,54.17 ns,1.085 ns,2.915 ns,53.02 ns +CloneInt128Elements,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,43.81 ns,0.824 ns,1.507 ns,43.69 ns +CloneLong128Elements,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,52.19 ns,0.915 ns,0.811 ns,52.41 ns +CloneSmall16Bytes,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,19.86 ns,0.141 ns,0.118 ns,19.84 ns +CloneMedium128Bytes,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,23.58 ns,0.102 ns,0.090 ns,23.55 ns +CloneLarge1024Bytes,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,46.47 ns,0.229 ns,0.203 ns,46.41 ns +CloneInt128Elements,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,32.95 ns,0.586 ns,0.490 ns,32.73 ns +CloneLong128Elements,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,45.18 ns,0.134 ns,0.104 ns,45.15 ns diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.html b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.html new file mode 100644 index 000000000..e15965c66 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-report.html @@ -0,0 +1,40 @@ + + + + +BouncyCastle.Crypto.Benchmarks.ArraysCloneBenchmarks-20260223-195225 + + + + +

+BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2)
+13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores
+.NET SDK 10.0.200-preview.0.26103.119
+  [Host]               : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3
+  .NET 10.0            : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3
+  .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256
+
+
+ + + + + + + + + + + + + + +
Method Job Runtime Mean
CloneSmall16Bytes.NET 10.0.NET 10.033.67 ns
CloneMedium128Bytes.NET 10.0.NET 10.034.57 ns
CloneLarge1024Bytes.NET 10.0.NET 10.054.17 ns
CloneInt128Elements.NET 10.0.NET 10.043.81 ns
CloneLong128Elements.NET 10.0.NET 10.052.19 ns
CloneSmall16Bytes.NET Framework 4.8.1.NET Framework 4.8.119.86 ns
CloneMedium128Bytes.NET Framework 4.8.1.NET Framework 4.8.123.58 ns
CloneLarge1024Bytes.NET Framework 4.8.1.NET Framework 4.8.146.47 ns
CloneInt128Elements.NET Framework 4.8.1.NET Framework 4.8.132.95 ns
CloneLong128Elements.NET Framework 4.8.1.NET Framework 4.8.145.18 ns
+ + diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report-github.md b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report-github.md new file mode 100644 index 000000000..1c77fc0f1 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report-github.md @@ -0,0 +1,30 @@ +``` + +BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2) +13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores +.NET SDK 10.0.200-preview.0.26103.119 + [Host] : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET 10.0 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3 + .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256 + + +``` +| Method | Job | Runtime | ArraySize | Mean | Ratio | Gen0 | Gen1 | Allocated | Alloc Ratio | +|------------------ |--------------------- |--------------------- |---------- |----------:|------:|-------:|-------:|----------:|------------:| +| **ArrayClone** | **.NET 10.0** | **.NET 10.0** | **16** | **33.286 ns** | **1.00** | **0.0021** | **-** | **40 B** | **1.00** | +| NewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 16 | 4.787 ns | 0.14 | 0.0021 | - | 40 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 16 | 18.655 ns | 1.00 | 0.0063 | - | 40 B | 1.00 | +| NewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 16 | 7.217 ns | 0.39 | 0.0064 | - | 40 B | 1.00 | +| | | | | | | | | | | +| **ArrayClone** | **.NET 10.0** | **.NET 10.0** | **128** | **33.653 ns** | **1.00** | **0.0080** | **-** | **152 B** | **1.00** | +| NewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 128 | 7.731 ns | 0.23 | 0.0081 | - | 152 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 128 | 22.591 ns | 1.00 | 0.0242 | - | 152 B | 1.00 | +| NewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 128 | 11.276 ns | 0.50 | 0.0242 | - | 152 B | 1.00 | +| | | | | | | | | | | +| **ArrayClone** | **.NET 10.0** | **.NET 10.0** | **1024** | **50.312 ns** | **1.00** | **0.0555** | **0.0002** | **1048 B** | **1.00** | +| NewArrayBlockCopy | .NET 10.0 | .NET 10.0 | 1024 | 33.917 ns | 0.67 | 0.0557 | 0.0002 | 1048 B | 1.00 | +| | | | | | | | | | | +| ArrayClone | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1024 | 44.428 ns | 1.00 | 0.1670 | 0.0007 | 1051 B | 1.00 | +| NewArrayBlockCopy | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1024 | 34.993 ns | 0.79 | 0.1670 | 0.0007 | 1051 B | 1.00 | diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.csv b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.csv new file mode 100644 index 000000000..d2f0903b7 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.csv @@ -0,0 +1,13 @@ +Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,ArraySize,Mean,Error,StdDev,Ratio,Gen0,Gen1,Allocated,Alloc Ratio +ArrayClone,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,16,33.286 ns,0.0688 ns,0.0610 ns,1.00,0.0021,0.0000,40 B,1.00 +NewArrayBlockCopy,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,16,4.787 ns,0.0810 ns,0.0718 ns,0.14,0.0021,0.0000,40 B,1.00 +ArrayClone,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,16,18.655 ns,0.0384 ns,0.0320 ns,1.00,0.0063,0.0000,40 B,1.00 +NewArrayBlockCopy,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,16,7.217 ns,0.0266 ns,0.0249 ns,0.39,0.0064,0.0000,40 B,1.00 +ArrayClone,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,128,33.653 ns,0.0675 ns,0.0598 ns,1.00,0.0080,0.0000,152 B,1.00 +NewArrayBlockCopy,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,128,7.731 ns,0.1646 ns,0.1761 ns,0.23,0.0081,0.0000,152 B,1.00 +ArrayClone,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,128,22.591 ns,0.0427 ns,0.0379 ns,1.00,0.0242,0.0000,152 B,1.00 +NewArrayBlockCopy,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,128,11.276 ns,0.0171 ns,0.0143 ns,0.50,0.0242,0.0000,152 B,1.00 +ArrayClone,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1024,50.312 ns,0.3995 ns,0.3336 ns,1.00,0.0555,0.0002,1048 B,1.00 +NewArrayBlockCopy,.NET 10.0,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1024,33.917 ns,0.3774 ns,0.3530 ns,0.67,0.0557,0.0002,1048 B,1.00 +ArrayClone,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1024,44.428 ns,0.0693 ns,0.0579 ns,1.00,0.1670,0.0007,1051 B,1.00 +NewArrayBlockCopy,.NET Framework 4.8.1,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET Framework 4.8.1,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1024,34.993 ns,0.0484 ns,0.0453 ns,0.79,0.1670,0.0007,1051 B,1.00 diff --git a/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.html b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.html new file mode 100644 index 000000000..1fae33e64 --- /dev/null +++ b/BenchmarkDotNet.Artifacts/results/BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-report.html @@ -0,0 +1,42 @@ + + + + +BouncyCastle.Crypto.Benchmarks.CloneImplementationComparison-20260223-195811 + + + + +

+BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7918/25H2/2025Update/HudsonValley2)
+13th Gen Intel Core i9-13900K 3.00GHz, 1 CPU, 32 logical and 24 physical cores
+.NET SDK 10.0.200-preview.0.26103.119
+  [Host]               : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3
+  .NET 10.0            : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v3
+  .NET Framework 4.8.1 : .NET Framework 4.8.1 (4.8.9325.0), X64 RyuJIT VectorSize=256
+
+
+ + + + + + + + + + + + + + + + +
Method Job Runtime ArraySizeMeanRatioGen0Gen1AllocatedAlloc Ratio
ArrayClone.NET 10.0.NET 10.01633.286 ns1.000.0021-40 B1.00
NewArrayBlockCopy.NET 10.0.NET 10.0164.787 ns0.140.0021-40 B1.00
ArrayClone.NET Framework 4.8.1.NET Framework 4.8.11618.655 ns1.000.0063-40 B1.00
NewArrayBlockCopy.NET Framework 4.8.1.NET Framework 4.8.1167.217 ns0.390.0064-40 B1.00
ArrayClone.NET 10.0.NET 10.012833.653 ns1.000.0080-152 B1.00
NewArrayBlockCopy.NET 10.0.NET 10.01287.731 ns0.230.0081-152 B1.00
ArrayClone.NET Framework 4.8.1.NET Framework 4.8.112822.591 ns1.000.0242-152 B1.00
NewArrayBlockCopy.NET Framework 4.8.1.NET Framework 4.8.112811.276 ns0.500.0242-152 B1.00
ArrayClone.NET 10.0.NET 10.0102450.312 ns1.000.05550.00021048 B1.00
NewArrayBlockCopy.NET 10.0.NET 10.0102433.917 ns0.670.05570.00021048 B1.00
ArrayClone.NET Framework 4.8.1.NET Framework 4.8.1102444.428 ns1.000.16700.00071051 B1.00
NewArrayBlockCopy.NET Framework 4.8.1.NET Framework 4.8.1102434.993 ns0.790.16700.00071051 B1.00
+ + diff --git a/crypto/src/crypto/io/CipherStream.cs b/crypto/src/crypto/io/CipherStream.cs index cf730a2ee..05f3733ab 100644 --- a/crypto/src/crypto/io/CipherStream.cs +++ b/crypto/src/crypto/io/CipherStream.cs @@ -1,6 +1,9 @@ using System; using System.Diagnostics; using System.IO; +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER +using System.Buffers; +#endif #if NETCOREAPP1_0_OR_GREATER || NET45_OR_GREATER || NETSTANDARD1_0_OR_GREATER using System.Threading; using System.Threading.Tasks; @@ -169,6 +172,21 @@ public override void Write(byte[] buffer, int offset, int count) { int outputSize = m_writeCipher.GetUpdateOutputSize(count); +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER + byte[] output = ArrayPool.Shared.Rent(outputSize); + try + { + int length = m_writeCipher.ProcessBytes(buffer, offset, count, output, 0); + if (length > 0) + { + m_stream.Write(output, 0, length); + } + } + finally + { + ArrayPool.Shared.Return(output, clearArray: true); + } +#else byte[] output = new byte[outputSize]; int length = m_writeCipher.ProcessBytes(buffer, offset, count, output, 0); @@ -183,6 +201,7 @@ public override void Write(byte[] buffer, int offset, int count) Array.Clear(output, 0, output.Length); } } +#endif } } @@ -201,6 +220,26 @@ public override Task WriteAsync(byte[] buffer, int offset, int count, Cancellati int outputSize = m_writeCipher.GetUpdateOutputSize(count); +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER + byte[] output = ArrayPool.Shared.Rent(outputSize); + int length = 0; + try + { + length = m_writeCipher.ProcessBytes(buffer, offset, count, output, 0); + if (length > 0) + { + var writeTask = m_stream.WriteAsync(output, 0, length, cancellationToken); + return WriteAsyncArrayPoolCompletion(writeTask, localBuffer: output); + } + } + finally + { + if (length == 0) + { + ArrayPool.Shared.Return(output, clearArray: true); + } + } +#else byte[] output = new byte[outputSize]; int length = m_writeCipher.ProcessBytes(buffer, offset, count, output, 0); @@ -209,10 +248,25 @@ public override Task WriteAsync(byte[] buffer, int offset, int count, Cancellati var writeTask = m_stream.WriteAsync(output, 0, length, cancellationToken); return Streams.WriteAsyncCompletion(writeTask, localBuffer: output); } +#endif } return Task.CompletedTask; } + +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER + private static async Task WriteAsyncArrayPoolCompletion(Task writeTask, byte[] localBuffer) + { + try + { + await writeTask.ConfigureAwait(false); + } + finally + { + ArrayPool.Shared.Return(localBuffer, clearArray: true); + } + } +#endif #endif #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER @@ -228,20 +282,24 @@ public override void Write(ReadOnlySpan buffer) { int outputSize = m_writeCipher.GetUpdateOutputSize(buffer.Length); - Span output = outputSize <= Streams.DefaultBufferSize - ? stackalloc byte[outputSize] - : new byte[outputSize]; - - int length = m_writeCipher.ProcessBytes(buffer, output); - if (length > 0) + byte[] rented = null; + try { - try + Span output = outputSize <= Streams.DefaultBufferSize + ? stackalloc byte[outputSize] + : rented = ArrayPool.Shared.Rent(outputSize); + + int length = m_writeCipher.ProcessBytes(buffer, output); + if (length > 0) { m_stream.Write(output[..length]); } - finally + } + finally + { + if (rented != null) { - output.Fill(0x00); + ArrayPool.Shared.Return(rented, clearArray: true); } } } @@ -259,18 +317,40 @@ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationTo int outputSize = m_writeCipher.GetUpdateOutputSize(buffer.Length); - byte[] output = new byte[outputSize]; - - int length = m_writeCipher.ProcessBytes(buffer.Span, output.AsSpan()); - if (length > 0) + byte[] output = ArrayPool.Shared.Rent(outputSize); + int length = 0; + try { - var writeTask = m_stream.WriteAsync(output.AsMemory(0, length), cancellationToken); - return Streams.WriteAsyncCompletion(writeTask, localBuffer: output); + length = m_writeCipher.ProcessBytes(buffer.Span, output.AsSpan()); + if (length > 0) + { + var writeTask = m_stream.WriteAsync(output.AsMemory(0, length), cancellationToken); + return WriteAsyncCompletion(writeTask, localBuffer: output); + } + } + finally + { + if (length == 0) + { + ArrayPool.Shared.Return(output, clearArray: true); + } } } return ValueTask.CompletedTask; } + + private static async ValueTask WriteAsyncCompletion(ValueTask writeTask, byte[] localBuffer) + { + try + { + await writeTask.ConfigureAwait(false); + } + finally + { + ArrayPool.Shared.Return(localBuffer, clearArray: true); + } + } #endif public override void WriteByte(byte value) @@ -299,17 +379,27 @@ protected override void Dispose(bool disposing) { if (disposing) { - if (m_writeCipher != null) - { + if (m_writeCipher != null) + { int outputSize = m_writeCipher.GetOutputSize(0); #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER - Span output = outputSize <= 256 - ? stackalloc byte[outputSize] - : new byte[outputSize]; - int len = m_writeCipher.DoFinal(output); - m_stream.Write(output[..len]); - output.Fill(0x00); + byte[] rented = null; + try + { + Span output = outputSize <= 256 + ? stackalloc byte[outputSize] + : rented = ArrayPool.Shared.Rent(outputSize); + int len = m_writeCipher.DoFinal(output); + m_stream.Write(output[..len]); + } + finally + { + if (rented != null) + { + ArrayPool.Shared.Return(rented, clearArray: true); + } + } #else byte[] output = new byte[outputSize]; int len = m_writeCipher.DoFinal(output, 0); diff --git a/crypto/src/util/io/Streams.cs b/crypto/src/util/io/Streams.cs index e0acb5955..a5d8d21fe 100644 --- a/crypto/src/util/io/Streams.cs +++ b/crypto/src/util/io/Streams.cs @@ -1,6 +1,7 @@ using System; using System.IO; #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER +using System.Buffers; using System.Runtime.InteropServices; #endif #if NETCOREAPP1_0_OR_GREATER || NET45_OR_GREATER || NETSTANDARD1_0_OR_GREATER @@ -11,27 +12,38 @@ namespace Org.BouncyCastle.Utilities.IO { public static class Streams - { + { private static readonly int MaxStackAlloc = Platform.Is64BitProcess ? 4096 : 1024; - public static int DefaultBufferSize => MaxStackAlloc; + public static int DefaultBufferSize => MaxStackAlloc; public static void CopyTo(Stream source, Stream destination) { - CopyTo(source, destination, DefaultBufferSize); + CopyTo(source, destination, DefaultBufferSize); } public static void CopyTo(Stream source, Stream destination, int bufferSize) { int bytesRead; #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER - Span buffer = bufferSize <= MaxStackAlloc - ? stackalloc byte[bufferSize] - : new byte[bufferSize]; - while ((bytesRead = source.Read(buffer)) != 0) - { - destination.Write(buffer[..bytesRead]); - } + byte[] buffer = null; + try + { + Span span = bufferSize <= MaxStackAlloc + ? stackalloc byte[bufferSize] + : buffer = ArrayPool.Shared.Rent(bufferSize); + while ((bytesRead = source.Read(span)) != 0) + { + destination.Write(span[..bytesRead]); + } + } + finally + { + if (buffer != null) + { + ArrayPool.Shared.Return(buffer, clearArray: true); + } + } #else byte[] buffer = new byte[bufferSize]; while ((bytesRead = source.Read(buffer, 0, buffer.Length)) != 0) @@ -39,7 +51,7 @@ public static void CopyTo(Stream source, Stream destination, int bufferSize) destination.Write(buffer, 0, bytesRead); } #endif - } + } #if NETCOREAPP1_0_OR_GREATER || NET45_OR_GREATER || NETSTANDARD1_0_OR_GREATER public static Task CopyToAsync(Stream source, Stream destination) @@ -58,35 +70,43 @@ public static Task CopyToAsync(Stream source, Stream destination, CancellationTo } public static async Task CopyToAsync(Stream source, Stream destination, int bufferSize, - CancellationToken cancellationToken) + CancellationToken cancellationToken) { int bytesRead; - byte[] buffer = new byte[bufferSize]; #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER - while ((bytesRead = await ReadAsync(source, new Memory(buffer), cancellationToken).ConfigureAwait(false)) != 0) - { - await WriteAsync(destination, new ReadOnlyMemory(buffer, 0, bytesRead), cancellationToken).ConfigureAwait(false); - } + byte[] buffer = ArrayPool.Shared.Rent(bufferSize); + try + { + while ((bytesRead = await ReadAsync(source, new Memory(buffer), cancellationToken).ConfigureAwait(false)) != 0) + { + await WriteAsync(destination, new ReadOnlyMemory(buffer, 0, bytesRead), cancellationToken).ConfigureAwait(false); + } + } + finally + { + ArrayPool.Shared.Return(buffer, clearArray: true); + } #else + byte[] buffer = new byte[bufferSize]; while ((bytesRead = await source.ReadAsync(buffer, 0, buffer.Length, cancellationToken).ConfigureAwait(false)) != 0) { await destination.WriteAsync(buffer, 0, bytesRead, cancellationToken).ConfigureAwait(false); } #endif - } + } #endif public static void Drain(Stream inStr) - { - CopyTo(inStr, Stream.Null, DefaultBufferSize); - } + { + CopyTo(inStr, Stream.Null, DefaultBufferSize); + } /// Write the full contents of inStr to the destination stream outStr. /// Source stream. /// Destination stream. /// In case of IO failure. public static void PipeAll(Stream inStr, Stream outStr) - { + { PipeAll(inStr, outStr, DefaultBufferSize); } @@ -98,27 +118,27 @@ public static void PipeAll(Stream inStr, Stream outStr) public static void PipeAll(Stream inStr, Stream outStr, int bufferSize) { CopyTo(inStr, outStr, bufferSize); - } - - /// - /// Pipe all bytes from inStr to outStr, throwing StreamFlowException if greater - /// than limit bytes in inStr. - /// - /// - /// A - /// - /// - /// A - /// - /// - /// A - /// - /// The number of bytes actually transferred, if not greater than limit - /// - public static long PipeAllLimited(Stream inStr, long limit, Stream outStr) - { - return PipeAllLimited(inStr, limit, outStr, DefaultBufferSize); - } + } + + /// + /// Pipe all bytes from inStr to outStr, throwing StreamFlowException if greater + /// than limit bytes in inStr. + /// + /// + /// A + /// + /// + /// A + /// + /// + /// A + /// + /// The number of bytes actually transferred, if not greater than limit + /// + public static long PipeAllLimited(Stream inStr, long limit, Stream outStr) + { + return PipeAllLimited(inStr, limit, outStr, DefaultBufferSize); + } public static long PipeAllLimited(Stream inStr, long limit, Stream outStr, int bufferSize) { @@ -128,28 +148,28 @@ public static long PipeAllLimited(Stream inStr, long limit, Stream outStr, int b } public static byte[] ReadAll(Stream inStr) - { - MemoryStream buf = new MemoryStream(); - PipeAll(inStr, buf); - return buf.ToArray(); - } + { + MemoryStream buf = new MemoryStream(); + PipeAll(inStr, buf); + return buf.ToArray(); + } [Obsolete("Will be removed")] public static byte[] ReadAll(MemoryStream inStr) { - return inStr.ToArray(); + return inStr.ToArray(); } public static byte[] ReadAllLimited(Stream inStr, int limit) - { - MemoryStream buf = new MemoryStream(); - PipeAllLimited(inStr, limit, buf); - return buf.ToArray(); - } + { + MemoryStream buf = new MemoryStream(); + PipeAllLimited(inStr, limit, buf); + return buf.ToArray(); + } #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER public static ValueTask ReadAsync(Stream source, Memory buffer, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default) { if (MemoryMarshal.TryGetArray(buffer, out ArraySegment array)) { @@ -157,44 +177,43 @@ public static ValueTask ReadAsync(Stream source, Memory buffer, source.ReadAsync(array.Array!, array.Offset, array.Count, cancellationToken)); } - byte[] sharedBuffer = new byte[buffer.Length]; - var readTask = source.ReadAsync(sharedBuffer, 0, buffer.Length, cancellationToken); - return ReadAsyncCompletion(readTask, sharedBuffer, buffer); + return ReadAsyncCompletion(source, buffer, cancellationToken); } - internal static async ValueTask ReadAsyncCompletion(Task readTask, byte[] localBuffer, - Memory localDestination) + private static async ValueTask ReadAsyncCompletion(Stream source, Memory buffer, + CancellationToken cancellationToken) { + byte[] localBuffer = ArrayPool.Shared.Rent(buffer.Length); try { - int result = await readTask.ConfigureAwait(false); - new ReadOnlySpan(localBuffer, 0, result).CopyTo(localDestination.Span); + int result = await source.ReadAsync(localBuffer, 0, buffer.Length, cancellationToken).ConfigureAwait(false); + new ReadOnlySpan(localBuffer, 0, result).CopyTo(buffer.Span); return result; } finally { - Array.Clear(localBuffer, 0, localBuffer.Length); + ArrayPool.Shared.Return(localBuffer, clearArray: true); } } #endif - public static int ReadFully(Stream inStr, byte[] buf) - { - return ReadFully(inStr, buf, 0, buf.Length); - } + public static int ReadFully(Stream inStr, byte[] buf) + { + return ReadFully(inStr, buf, 0, buf.Length); + } - public static int ReadFully(Stream inStr, byte[] buf, int off, int len) - { - int totalRead = 0; - while (totalRead < len) - { - int numRead = inStr.Read(buf, off + totalRead, len - totalRead); - if (numRead < 1) - break; - totalRead += numRead; - } - return totalRead; - } + public static int ReadFully(Stream inStr, byte[] buf, int off, int len) + { + int totalRead = 0; + while (totalRead < len) + { + int numRead = inStr.Read(buf, off + totalRead, len - totalRead); + if (numRead < 1) + break; + totalRead += numRead; + } + return totalRead; + } #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER public static int ReadFully(Stream inStr, Span buffer) @@ -213,15 +232,15 @@ public static int ReadFully(Stream inStr, Span buffer) public static void ValidateBufferArguments(byte[] buffer, int offset, int count) { - if (buffer == null) - throw new ArgumentNullException(nameof(buffer)); - int available = buffer.Length - offset; - if ((offset | available) < 0) - throw new ArgumentOutOfRangeException(nameof(offset)); - int remaining = available - count; - if ((count | remaining) < 0) - throw new ArgumentOutOfRangeException(nameof(count)); - } + if (buffer == null) + throw new ArgumentNullException(nameof(buffer)); + int available = buffer.Length - offset; + if ((offset | available) < 0) + throw new ArgumentOutOfRangeException(nameof(offset)); + int remaining = available - count; + if ((count | remaining) < 0) + throw new ArgumentOutOfRangeException(nameof(count)); + } #if NETCOREAPP1_0_OR_GREATER || NET45_OR_GREATER || NETSTANDARD1_0_OR_GREATER internal static async Task WriteAsyncCompletion(Task writeTask, byte[] localBuffer) @@ -257,20 +276,21 @@ public static ValueTask WriteAsync(Stream destination, ReadOnlyMemory buff destination.WriteAsync(array.Array!, array.Offset, array.Count, cancellationToken)); } - byte[] sharedBuffer = buffer.ToArray(); - var writeTask = destination.WriteAsync(sharedBuffer, 0, buffer.Length, cancellationToken); - return new ValueTask(WriteAsyncCompletion(writeTask, sharedBuffer)); + return WriteAsyncCompletion(destination, buffer, cancellationToken); } - internal static async ValueTask WriteAsyncCompletion(ValueTask writeTask, byte[] localBuffer) + internal static async ValueTask WriteAsyncCompletion(Stream destination, ReadOnlyMemory buffer, + CancellationToken cancellationToken) { + byte[] localBuffer = ArrayPool.Shared.Rent(buffer.Length); try { - await writeTask.ConfigureAwait(false); + buffer.CopyTo(localBuffer); + await destination.WriteAsync(localBuffer, 0, buffer.Length, cancellationToken).ConfigureAwait(false); } finally { - Array.Clear(localBuffer, 0, localBuffer.Length); + ArrayPool.Shared.Return(localBuffer, clearArray: true); } } @@ -291,12 +311,12 @@ public static int WriteBufTo(MemoryStream buf, byte[] output, int offset) #if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER if (buf.TryGetBuffer(out var buffer)) { - buffer.CopyTo(output, offset); - return buffer.Count; + buffer.CopyTo(output, offset); + return buffer.Count; } #endif - int size = Convert.ToInt32(buf.Length); + int size = Convert.ToInt32(buf.Length); buf.WriteTo(new MemoryStream(output, offset, size)); return size; }