about summary refs log tree commit diff
path: root/Utilities/LibMatrix.EventTypes.Benchmark/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/LibMatrix.EventTypes.Benchmark/Program.cs')
-rw-r--r--Utilities/LibMatrix.EventTypes.Benchmark/Program.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/Utilities/LibMatrix.EventTypes.Benchmark/Program.cs b/Utilities/LibMatrix.EventTypes.Benchmark/Program.cs
new file mode 100644

index 0000000..512c066 --- /dev/null +++ b/Utilities/LibMatrix.EventTypes.Benchmark/Program.cs
@@ -0,0 +1,37 @@ +using System.Text.Json; +using ArcaneLibs.Extensions; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Jobs; +using BenchmarkDotNet.Running; +using LibMatrix.EventTypes; +using LibMatrix.EventTypes.Spec; + +BenchmarkRunner.Run<Tests>(); + +[ShortRunJob] +[MemoryDiagnoser] +public class Tests { + // public MatrixEventCollection<MatrixEventContent> Members = [ + // new MatrixEvent<RoomMembershipEventContent>() { + // Content = new() { + // Membership = "join" + // } + // } + // ]; + + private static string eventJson = File.ReadAllText("test-event.json"); + private static MatrixEvent<RoomMembershipEventContent> evt2 = JsonSerializer.Deserialize<MatrixEvent<RoomMembershipEventContent>>(eventJson); + [Benchmark] + public void Deserialise() { + JsonSerializer.Deserialize<MatrixEvent<RoomMembershipEventContent>>(eventJson); + } + [Benchmark] + public void Serialise() { + evt2.ToJson(); + } + + [Benchmark] + public void Modify() { + evt2.Content.Membership = "meow"; + } +} \ No newline at end of file