Timothy Schenk
dc6d8316e9
All checks were successful
Build, Package and Push Images / preprocess (push) Successful in 1s
Build, Package and Push Images / build (push) Successful in 26s
Build, Package and Push Images / sbom-scan (push) Successful in 39s
Build, Package and Push Images / sonarqube (push) Successful in 1m21s
Build, Package and Push Images / container-build (push) Successful in 1m30s
Build, Package and Push Images / container-sbom-scan (push) Successful in 37s
ci: branch name sanitization for docker ci: another attempt ci: forgot actor chore: remove nuke remnants chore(deps): update dependency dotnet-sdk to v7.0.403 Signed-off-by: noreply@rainote.dev refactor: shared data into library refactor: rewrite for packethandler/id map chore: logging chore: Sonar Warnings chore: upgrade to .net8 image chore: fetch all required information for characters chore: upgrade to .net 8 ci: install .net 7.0 alongside 8.0 for sbom fix: incorrect job ci: let's try arm64 again ci: adjust project for .net 8 support chore: adjustments to composefile chore: analyzer setup chore: analyzer and project settings updated
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
namespace Benchmarks;
|
|
|
|
using System.Security.Cryptography;
|
|
using BenchmarkDotNet.Attributes;
|
|
using BenchmarkDotNet.Jobs;
|
|
using BenchmarkDotNet.Order;
|
|
|
|
[SimpleJob(RuntimeMoniker.Net80)]
|
|
[SimpleJob(RuntimeMoniker.Net70)]
|
|
[SimpleJob(RuntimeMoniker.Net60)]
|
|
[Orderer(SummaryOrderPolicy.FastestToSlowest)]
|
|
[RankColumn]
|
|
[MemoryDiagnoser]
|
|
[ThreadingDiagnoser]
|
|
public class BinaryConversionBenchmarks
|
|
{
|
|
private byte[] _data = null!;
|
|
private int _offset;
|
|
|
|
[GlobalSetup]
|
|
public void Setup()
|
|
{
|
|
this._data = RandomNumberGenerator.GetBytes(4000);
|
|
this._offset = RandomNumberGenerator.GetInt32(0, 3500);
|
|
}
|
|
|
|
[Benchmark]
|
|
public short BitConverterTest() => BitConverter.ToInt16(this._data, this._offset);
|
|
|
|
[Benchmark]
|
|
public short BinaryReader()
|
|
{
|
|
using var ms = new MemoryStream(this._data);
|
|
using var reader = new BinaryReader(ms);
|
|
reader.BaseStream.Position = this._offset;
|
|
return reader.ReadInt16();
|
|
}
|
|
|
|
[Benchmark]
|
|
public short BinaryPrimitives() =>
|
|
System.Buffers.Binary.BinaryPrimitives.ReadInt16LittleEndian(
|
|
new ArraySegment<byte>(this._data, this._offset, sizeof(short)));
|
|
}
|