5 files changed, 108 insertions, 38 deletions
diff --git a/Utilities/LibMatrix.EventTypes.BasicTests/LibMatrix.EventTypes.BasicTests.csproj b/Utilities/LibMatrix.EventTypes.BasicTests/LibMatrix.EventTypes.BasicTests.csproj
index b769cb7..e13103f 100644
--- a/Utilities/LibMatrix.EventTypes.BasicTests/LibMatrix.EventTypes.BasicTests.csproj
+++ b/Utilities/LibMatrix.EventTypes.BasicTests/LibMatrix.EventTypes.BasicTests.csproj
@@ -13,10 +13,6 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="BenchmarkDotNet" Version="0.13.12" />
- </ItemGroup>
-
- <ItemGroup>
<Content Include="*.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
diff --git a/Utilities/LibMatrix.EventTypes.BasicTests/Program.cs b/Utilities/LibMatrix.EventTypes.BasicTests/Program.cs
index 8c1e15a..d694c76 100644
--- a/Utilities/LibMatrix.EventTypes.BasicTests/Program.cs
+++ b/Utilities/LibMatrix.EventTypes.BasicTests/Program.cs
@@ -1,37 +1,50 @@
-using System.Text.Json;
+// See https://aka.ms/new-console-template for more information
+
+using System.Text.Json;
using ArcaneLibs.Extensions;
-using BenchmarkDotNet.Attributes;
-using BenchmarkDotNet.Jobs;
-using BenchmarkDotNet.Running;
using LibMatrix.EventTypes;
-using LibMatrix.EventTypes.Events;
-
-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);
+using LibMatrix.EventTypes.Abstractions;
+using LibMatrix.EventTypes.Spec;
+
+Console.WriteLine("Hello, World!");
+
+MatrixEventCollection Members = [
+ new MatrixEvent<RoomMembershipEventContent>() {
+ Content = new() {
+ Membership = "join"
+ }
+ }
+];
+
+string eventJson = File.ReadAllText("test-event.json");
+MatrixEvent<RoomMembershipEventContent> evt2 = JsonSerializer.Deserialize<MatrixEvent<RoomMembershipEventContent>>(eventJson);
+
+JsonSerializer.Deserialize<MatrixEvent<RoomMembershipEventContent>>(eventJson);
+
+evt2.ToJson();
+evt2.Content.Membership = "meow";
+
+MatrixEventCollection collection = new();
+collection.Add(new MatrixEvent<RoomMembershipEventContent>() {
+ Content = new RoomMembershipEventContent() {
+ Membership = "yes"
}
- [Benchmark]
- public void Serialise() {
- evt2.ToJson();
+});
+MatrixEventCollection<RoomMembershipEventContent> collection4 = new();
+collection4.Add(new MatrixEvent<RoomMembershipEventContent>() {
+ Content = new RoomMembershipEventContent() {
+ Membership = "yes"
}
-
- [Benchmark]
- public void Modify() {
- evt2.Content.Membership = "meow";
+});
+
+List<MatrixEvent<BaseMatrixEventContent>> collection2 = new();
+collection2.Add(new MatrixEvent<RoomMembershipEventContent>() {
+ Content = new RoomMembershipEventContent() {
+ Membership = "yes"
}
-}
\ No newline at end of file
+});
+
+List<BaseMatrixEventContent> collection3 = new();
+collection3.Add(new RoomMembershipEventContent() {
+ Membership = "yes"
+});
\ No newline at end of file
diff --git a/Utilities/LibMatrix.EventTypes.Benchmark/LibMatrix.EventTypes.Benchmark.csproj b/Utilities/LibMatrix.EventTypes.Benchmark/LibMatrix.EventTypes.Benchmark.csproj
new file mode 100644
index 0000000..b769cb7
--- /dev/null
+++ b/Utilities/LibMatrix.EventTypes.Benchmark/LibMatrix.EventTypes.Benchmark.csproj
@@ -0,0 +1,24 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <OutputType>Exe</OutputType>
+ <TargetFramework>net8.0</TargetFramework>
+ <ImplicitUsings>enable</ImplicitUsings>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\..\LibMatrix.EventTypes.Abstractions\LibMatrix.EventTypes.Abstractions.csproj" />
+ <ProjectReference Include="..\..\LibMatrix.EventTypes.Spec\LibMatrix.EventTypes.Spec.csproj" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="BenchmarkDotNet" Version="0.13.12" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <Content Include="*.json">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ </ItemGroup>
+</Project>
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
diff --git a/Utilities/LibMatrix.Utilities.Bot/LibMatrix.Utilities.Bot.csproj b/Utilities/LibMatrix.Utilities.Bot/LibMatrix.Utilities.Bot.csproj
index 89ea5af..6e67373 100644
--- a/Utilities/LibMatrix.Utilities.Bot/LibMatrix.Utilities.Bot.csproj
+++ b/Utilities/LibMatrix.Utilities.Bot/LibMatrix.Utilities.Bot.csproj
@@ -12,9 +12,9 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0"/>
+ <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0"/>
- <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0"/>
+ <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
</ItemGroup>
|