-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Added target for .NET 4.5 * PR Feedback and Build-Fix * Benchmarks for .NET 4.6.1 * CI for benchmarks_net_full * Benchmark results + ReadMe.md update [skip ci]
- Loading branch information
Showing
67 changed files
with
343 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
parameters: | ||
name: '' | ||
vmImage: '' | ||
dependsOn: '' | ||
|
||
jobs: | ||
- job: ${{ parameters.name }} | ||
dependsOn: | ||
- ${{ parameters.dependsOn }} | ||
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.Reason'], 'Schedule')) | ||
pool: | ||
vmImage: ${{ parameters.vmImage }} | ||
timeoutInMinutes: 0 # 360 minutes | ||
steps: | ||
- bash: | | ||
chmod u+x *.sh | ||
export BENCH_FX=net461 | ||
./run-benchmarks.sh | ||
- task: PublishBuildArtifacts@1 | ||
inputs: | ||
pathtoPublish: 'perf/gfoidl.Base64.Benchmarks/bin/Release/net461/BenchmarkDotNet.Artifacts/results' | ||
artifactName: '${{ parameters.name }}' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,7 +6,7 @@ | |
|
||
namespace gfoidl.Base64.Demo | ||
{ | ||
class Program | ||
public static class Program | ||
{ | ||
static async Task Main() | ||
{ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
perf/gfoidl.Base64.Benchmarks/results/net461/Base64EncoderBenchmark-report.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Method;Job;AnalyzeLaunchVariance;EvaluateOverhead;MaxAbsoluteError;MaxRelativeError;MinInvokeCount;MinIterationTime;OutlierMode;Affinity;EnvironmentVariables;Jit;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;MinIterationCount;MinWarmupIterationCount;RunStrategy;UnrollFactor;WarmupCount;Mean;Error;StdDev;Gen 0;Gen 1;Gen 2;Allocated | ||
Encode_Data;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;918.029 ns;7.2174 ns;6.0269 ns;1.0958;0.0000;0.0000;3451 B | ||
Encode_Guid;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;95.461 ns;0.4049 ns;0.3589 ns;0.0254;0.0000;0.0000;80 B | ||
Decode_Data;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;650.626 ns;8.7997 ns;8.2313 ns;0.1678;0.0000;0.0000;530 B | ||
Decode_Guid;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;82.348 ns;0.9401 ns;0.8794 ns;0.0126;0.0000;0.0000;40 B | ||
GetArraySizeRequiredToEncode;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;2.252 ns;0.0556 ns;0.0520 ns;0.0000;0.0000;0.0000;0 B | ||
GetArraySizeRequiredToDecode;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;25.775 ns;0.1683 ns;0.1574 ns;0.0000;0.0000;0.0000;0 B | ||
GetMaxDecodedLength;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;2.243 ns;0.0586 ns;0.0520 ns;0.0000;0.0000;0.0000;0 B |
18 changes: 18 additions & 0 deletions
18
perf/gfoidl.Base64.Benchmarks/results/net461/Base64EncoderBenchmark-report.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
``` ini | ||
|
||
BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18362 | ||
Intel Core i7-7700HQ CPU 2.80GHz (Kaby Lake), 1 CPU, 8 logical and 4 physical cores | ||
[Host] : .NET Framework 4.8 (4.8.4121.0), X64 RyuJIT | ||
DefaultJob : .NET Framework 4.8 (4.8.4121.0), X64 RyuJIT | ||
|
||
|
||
``` | ||
| Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | | ||
|----------------------------- |-----------:|----------:|----------:|-------:|------:|------:|----------:| | ||
| Encode_Data | 918.029 ns | 7.2174 ns | 6.0269 ns | 1.0958 | - | - | 3451 B | | ||
| Encode_Guid | 95.461 ns | 0.4049 ns | 0.3589 ns | 0.0254 | - | - | 80 B | | ||
| Decode_Data | 650.626 ns | 8.7997 ns | 8.2313 ns | 0.1678 | - | - | 530 B | | ||
| Decode_Guid | 82.348 ns | 0.9401 ns | 0.8794 ns | 0.0126 | - | - | 40 B | | ||
| GetArraySizeRequiredToEncode | 2.252 ns | 0.0556 ns | 0.0520 ns | - | - | - | - | | ||
| GetArraySizeRequiredToDecode | 25.775 ns | 0.1683 ns | 0.1574 ns | - | - | - | - | | ||
| GetMaxDecodedLength | 2.243 ns | 0.0586 ns | 0.0520 ns | - | - | - | - | |
8 changes: 8 additions & 0 deletions
8
perf/gfoidl.Base64.Benchmarks/results/net461/Base64UrlEncoderBenchmark-report.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Method;Job;AnalyzeLaunchVariance;EvaluateOverhead;MaxAbsoluteError;MaxRelativeError;MinInvokeCount;MinIterationTime;OutlierMode;Affinity;EnvironmentVariables;Jit;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;MinIterationCount;MinWarmupIterationCount;RunStrategy;UnrollFactor;WarmupCount;Mean;Error;StdDev;Gen 0;Gen 1;Gen 2;Allocated | ||
Encode_Data;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;930.680 ns;14.1025 ns;11.7762 ns;1.0939;0.0000;0.0000;3443 B | ||
Encode_Guid;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;96.448 ns;0.4192 ns;0.3921 ns;0.0229;0.0000;0.0000;72 B | ||
Decode_Data;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;662.351 ns;10.0879 ns;8.4239 ns;0.1678;0.0000;0.0000;530 B | ||
Decode_Guid;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;65.796 ns;0.6604 ns;0.5854 ns;0.0126;0.0000;0.0000;40 B | ||
GetArraySizeRequiredToEncode;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;3.471 ns;0.0464 ns;0.0411 ns;0.0000;0.0000;0.0000;0 B | ||
GetArraySizeRequiredToDecode;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;13.537 ns;0.1367 ns;0.1212 ns;0.0000;0.0000;0.0000;0 B | ||
GetMaxDecodedLength;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;3.027 ns;0.0626 ns;0.0585 ns;0.0000;0.0000;0.0000;0 B |
18 changes: 18 additions & 0 deletions
18
perf/gfoidl.Base64.Benchmarks/results/net461/Base64UrlEncoderBenchmark-report.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
``` ini | ||
|
||
BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18362 | ||
Intel Core i7-7700HQ CPU 2.80GHz (Kaby Lake), 1 CPU, 8 logical and 4 physical cores | ||
[Host] : .NET Framework 4.8 (4.8.4121.0), X64 RyuJIT | ||
DefaultJob : .NET Framework 4.8 (4.8.4121.0), X64 RyuJIT | ||
|
||
|
||
``` | ||
| Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | | ||
|----------------------------- |-----------:|-----------:|-----------:|-------:|------:|------:|----------:| | ||
| Encode_Data | 930.680 ns | 14.1025 ns | 11.7762 ns | 1.0939 | - | - | 3443 B | | ||
| Encode_Guid | 96.448 ns | 0.4192 ns | 0.3921 ns | 0.0229 | - | - | 72 B | | ||
| Decode_Data | 662.351 ns | 10.0879 ns | 8.4239 ns | 0.1678 | - | - | 530 B | | ||
| Decode_Guid | 65.796 ns | 0.6604 ns | 0.5854 ns | 0.0126 | - | - | 40 B | | ||
| GetArraySizeRequiredToEncode | 3.471 ns | 0.0464 ns | 0.0411 ns | - | - | - | - | | ||
| GetArraySizeRequiredToDecode | 13.537 ns | 0.1367 ns | 0.1212 ns | - | - | - | - | | ||
| GetMaxDecodedLength | 3.027 ns | 0.0626 ns | 0.0585 ns | - | - | - | - | |
7 changes: 7 additions & 0 deletions
7
perf/gfoidl.Base64.Benchmarks/results/net461/DecodeStringBenchmark-report.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Method;Job;AnalyzeLaunchVariance;EvaluateOverhead;MaxAbsoluteError;MaxRelativeError;MinInvokeCount;MinIterationTime;OutlierMode;Affinity;EnvironmentVariables;Jit;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;MinIterationCount;MinWarmupIterationCount;RunStrategy;UnrollFactor;WarmupCount;DataLen;Mean;Error;StdDev;Ratio;Gen 0;Gen 1;Gen 2;Allocated | ||
ConvertFromBase64CharArray;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;5;34.21 ns;0.239 ns;0.224 ns;1.00;0.0102;0.0000;0.0000;32 B | ||
gfoidlBase64;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;5;64.96 ns;0.521 ns;0.407 ns;1.90;0.0101;0.0000;0.0000;32 B | ||
ConvertFromBase64CharArray;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;16;75.28 ns;0.295 ns;0.261 ns;1.00;0.0126;0.0000;0.0000;40 B | ||
gfoidlBase64;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;16;79.27 ns;0.811 ns;0.719 ns;1.05;0.0126;0.0000;0.0000;40 B | ||
ConvertFromBase64CharArray;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1000;"3,270.70 ns";16.197 ns;15.150 ns;1.00;0.3242;0.0000;0.0000;1027 B | ||
gfoidlBase64;Default;False;Default;Default;Default;Default;Default;Default;11111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 4.8;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1000;"1,192.49 ns";12.818 ns;11.990 ns;0.36;0.3262;0.0000;0.0000;1027 B |
Oops, something went wrong.