Adds back in old benchmarks. Cleans up tests. (#270)

This commit is contained in:
Kamron Batman 2020-10-04 11:45:07 -07:00 committed by GitHub
parent 09d80916b8
commit 4e799ddbd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 498 additions and 160 deletions

View file

@ -0,0 +1,36 @@
using System;
using System.Buffers.Binary;
using System.Runtime.CompilerServices;
using Server;
namespace Benchmarks
{
public ref struct SpanWriter
{
public Span<byte> Span;
public int Pos;
public SpanWriter(Span<byte> span)
{
Span = span;
Pos = 0;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Write(Serial serial)
{
BinaryPrimitives.WriteUInt32BigEndian(Span.Slice(Pos), serial);
Pos += 4;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Write(ushort value)
{
BinaryPrimitives.WriteUInt16BigEndian(Span.Slice(Pos), value);
Pos += 2;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Write(byte value) => Span[Pos++] = value;
}
}