Дополнительная информация для тестирования производительности
This commit is contained in:
@@ -5,6 +5,7 @@ using mROA.Codegen;
|
|||||||
using mROA.Implementation;
|
using mROA.Implementation;
|
||||||
using mROA.Implementation.Backend;
|
using mROA.Implementation.Backend;
|
||||||
using mROA.Implementation.Bootstrap;
|
using mROA.Implementation.Bootstrap;
|
||||||
|
using mROA.Implementation.Frontend;
|
||||||
|
|
||||||
|
|
||||||
var builder = new FullMixBuilder();
|
var builder = new FullMixBuilder();
|
||||||
@@ -14,7 +15,7 @@ builder.UseNetworkGateway(new IPEndPoint(IPAddress.Loopback, 4567), typeof(NextG
|
|||||||
builder.GetModule<IIdentityGenerator>()!);
|
builder.GetModule<IIdentityGenerator>()!);
|
||||||
|
|
||||||
builder.Modules.Add(new ConnectionHub());
|
builder.Modules.Add(new ConnectionHub());
|
||||||
builder.Modules.Add(new HubRequestExtractor());
|
builder.Modules.Add(new HubRequestExtractor(typeof(RequestExtractor)));
|
||||||
|
|
||||||
builder.UseBasicExecution();
|
builder.UseBasicExecution();
|
||||||
|
|
||||||
@@ -27,7 +28,8 @@ builder.Modules.Add(new MultiClientContextRepository(i =>
|
|||||||
return repo;
|
return repo;
|
||||||
}));
|
}));
|
||||||
builder.SetupMethodsRepository(new CoCodegenMethodRepository());
|
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();
|
builder.Build();
|
||||||
new RemoteTypeBinder();
|
new RemoteTypeBinder();
|
||||||
|
|||||||
@@ -76,3 +76,4 @@ for (int i = 0; i < iterations; i++)
|
|||||||
timer.Stop();
|
timer.Stop();
|
||||||
Console.WriteLine("X is {0}", x);
|
Console.WriteLine("X is {0}", x);
|
||||||
Console.WriteLine("Time : {0}", timer.Elapsed.TotalMilliseconds);
|
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;
|
namespace mROA.Implementation.Backend;
|
||||||
|
|
||||||
public class HubRequestExtractor : IInjectableModule
|
public class HubRequestExtractor(Type extractoType) : IInjectableModule
|
||||||
{
|
{
|
||||||
private IConnectionHub _hub;
|
private IConnectionHub _hub;
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ public class HubRequestExtractor : IInjectableModule
|
|||||||
|
|
||||||
private void HubOnOnConnected(IRepresentationModule interaction)
|
private void HubOnOnConnected(IRepresentationModule interaction)
|
||||||
{
|
{
|
||||||
var extractor = new RequestExtractor();
|
var extractor = (IRequestExtractor)Activator.CreateInstance(extractoType)!;
|
||||||
extractor.Inject(interaction);
|
extractor.Inject(interaction);
|
||||||
if (_contextRepository is IContextRepositoryHub contextHub)
|
if (_contextRepository is IContextRepositoryHub contextHub)
|
||||||
extractor.Inject(contextHub.GetRepository(interaction.Id));
|
extractor.Inject(contextHub.GetRepository(interaction.Id));
|
||||||
|
|||||||
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
namespace mROA.Implementation;
|
namespace mROA.Implementation;
|
||||||
|
|
||||||
public class CreativeSerializationModuleProducer : IRepresentationModuleProducer
|
public class CreativeRepresentationModuleProducer : IRepresentationModuleProducer
|
||||||
{
|
{
|
||||||
private Type _reprModuleType;
|
private Type _reprModuleType;
|
||||||
private IInjectableModule[] _creationModules;
|
private IInjectableModule[] _creationModules;
|
||||||
private IConnectionHub? _hub;
|
private IConnectionHub? _hub;
|
||||||
|
|
||||||
public CreativeSerializationModuleProducer(IInjectableModule[] creationModules, Type reprModuleType)
|
public CreativeRepresentationModuleProducer(IInjectableModule[] creationModules, Type reprModuleType)
|
||||||
{
|
{
|
||||||
_creationModules = creationModules;
|
_creationModules = creationModules;
|
||||||
_reprModuleType = reprModuleType;
|
_reprModuleType = reprModuleType;
|
||||||
Reference in New Issue
Block a user