Skip to content

Commit 3d2bd08

Browse files
authored
Add initial StringUtils benchmark (#373)
1 parent 81610ab commit 3d2bd08

File tree

5 files changed

+49
-1
lines changed

5 files changed

+49
-1
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,4 +255,7 @@ paket-files/
255255
global.json
256256

257257
# Anything that is local
258-
local.*
258+
local.*
259+
260+
# BenchmarkDotNet Results
261+
BenchmarkDotNet.Artifacts/

src/ApplicationInsights.Kubernetes/AssemblyInfo.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22

33
// Allow unit tests to access internal members
44
[assembly: InternalsVisibleTo("Microsoft.ApplicationInsights.Kubernetes.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
5+
[assembly: InternalsVisibleTo("Benchmarks, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
56
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]

tests/Benchmarks/Benchmarks.csproj

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<ItemGroup>
4+
<ProjectReference Include="..\..\src\ApplicationInsights.Kubernetes\ApplicationInsights.Kubernetes.csproj" />
5+
</ItemGroup>
6+
7+
<ItemGroup>
8+
<PackageReference Include="BenchMarkDotNet" Version="0.14.0" />
9+
</ItemGroup>
10+
11+
<PropertyGroup>
12+
<OutputType>Exe</OutputType>
13+
<TargetFramework>net8.0</TargetFramework>
14+
<ImplicitUsings>enable</ImplicitUsings>
15+
<Nullable>enable</Nullable>
16+
17+
18+
<SignAssembly>True</SignAssembly>
19+
<AssemblyOriginatorKeyFile>..\..\src\PublicKey.snk</AssemblyOriginatorKeyFile>
20+
<DelaySign>True</DelaySign>
21+
</PropertyGroup>
22+
23+
</Project>

tests/Benchmarks/Program.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
using Benchmark;
2+
using BenchmarkDotNet.Running;
3+
4+
var summary = BenchmarkRunner.Run<StringUtilsBenchmark>();
5+
Console.WriteLine(summary);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using BenchmarkDotNet.Attributes;
2+
using Microsoft.ApplicationInsights.Kubernetes;
3+
4+
namespace Benchmark;
5+
6+
public class StringUtilsBenchmark
7+
{
8+
[Params(25, 1023, 1024, 1025, 2097152, 3758096384, 3848290697216)]
9+
public long Input { get; set; }
10+
11+
[Benchmark]
12+
public string BenchmarkGetReadableSize()
13+
{
14+
return StringUtils.GetReadableSize(Input);
15+
}
16+
}

0 commit comments

Comments
 (0)