Дополнительная информация для тестирования производительности
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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
-2
@@ -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;
|
||||
Reference in New Issue
Block a user