Дополнительная информация для тестирования производительности

This commit is contained in:
2025-02-18 22:35:02 +03:00
parent 4e4cdc4762
commit bc54a7d25c
4 changed files with 10 additions and 7 deletions
+4 -2
View File
@@ -5,6 +5,7 @@ using mROA.Codegen;
using mROA.Implementation;
using mROA.Implementation.Backend;
using mROA.Implementation.Bootstrap;
using mROA.Implementation.Frontend;
var builder = new FullMixBuilder();
@@ -14,7 +15,7 @@ builder.UseNetworkGateway(new IPEndPoint(IPAddress.Loopback, 4567), typeof(NextG
builder.GetModule<IIdentityGenerator>()!);
builder.Modules.Add(new ConnectionHub());
builder.Modules.Add(new HubRequestExtractor());
builder.Modules.Add(new HubRequestExtractor(typeof(RequestExtractor)));
builder.UseBasicExecution();
@@ -27,7 +28,8 @@ builder.Modules.Add(new MultiClientContextRepository(i =>
return repo;
}));
builder.SetupMethodsRepository(new CoCodegenMethodRepository());
builder.Modules.Add(new CreativeSerializationModuleProducer([builder.GetModule<JsonSerializationToolkit>()!], typeof(RepresentationModule)));
builder.Modules.Add(new CreativeRepresentationModuleProducer([builder.GetModule<JsonSerializationToolkit>()!],
typeof(RepresentationModule)));
builder.Build();
new RemoteTypeBinder();
+1
View File
@@ -76,3 +76,4 @@ for (int i = 0; i < iterations; i++)
timer.Stop();
Console.WriteLine("X is {0}", x);
Console.WriteLine("Time : {0}", timer.Elapsed.TotalMilliseconds);
Console.WriteLine($"Time per call: {timer.Elapsed.TotalMilliseconds / iterations} ms");
@@ -3,7 +3,7 @@ using mROA.Implementation.Frontend;
namespace mROA.Implementation.Backend;
public class HubRequestExtractor : IInjectableModule
public class HubRequestExtractor(Type extractoType) : IInjectableModule
{
private IConnectionHub _hub;
@@ -37,7 +37,7 @@ public class HubRequestExtractor : IInjectableModule
private void HubOnOnConnected(IRepresentationModule interaction)
{
var extractor = new RequestExtractor();
var extractor = (IRequestExtractor)Activator.CreateInstance(extractoType)!;
extractor.Inject(interaction);
if (_contextRepository is IContextRepositoryHub contextHub)
extractor.Inject(contextHub.GetRepository(interaction.Id));
@@ -2,13 +2,13 @@
namespace mROA.Implementation;
public class CreativeSerializationModuleProducer : IRepresentationModuleProducer
public class CreativeRepresentationModuleProducer : IRepresentationModuleProducer
{
private Type _reprModuleType;
private IInjectableModule[] _creationModules;
private IConnectionHub? _hub;
public CreativeSerializationModuleProducer(IInjectableModule[] creationModules, Type reprModuleType)
public CreativeRepresentationModuleProducer(IInjectableModule[] creationModules, Type reprModuleType)
{
_creationModules = creationModules;
_reprModuleType = reprModuleType;