ArjunVachhani / order-matcher

simple, fast and feature rich order matching engine supports limit, market, stop-loss, iceberg, IOC, FOK, GTD orders
MIT License
137 stars 70 forks source link

Cannot run OrderMatcher.Performance #34

Closed P9avel closed 2 years ago

P9avel commented 2 years ago

Hi, i am want to test how much orders can to mathed your project. But cannot get results in OrderMatcher.Performance. Please look image image

P9avel commented 2 years ago

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Invalid size (Parameter 'book') at OrderMatcher.Types.Serializers.BookSerializer.Serialize(BookDepth book, Span1 bytes) in E:\OrderMatcher\order-matcher-master\OrderMatcher\OrderMatcher.Types\Serializers\BookSerializer.cs:line 79 at OrderMatcher.Performance.SerializeBenchmark..ctor() in E:\OrderMatcher\order-matcher-master\OrderMatcher\OrderMatcher.Performance\SerializeBenchmark.cs:line 92 at BenchmarkDotNet.Autogenerated.Runnable_0..ctor() in E:\OrderMatcher\order-matcher-master\OrderMatcher\OrderMatcher.Performance\bin\Release\net6.0\3f0ec4b6-059e-40aa-a1d7-e6e3ff6cf7db\3f0ec4b6-059e-40aa-a1d7-e6e3ff6cf7db.notcs:line 214 at BenchmarkDotNet.Autogenerated.Runnable_0.Run(IHost host, String benchmarkName) in E:\OrderMatcher\order-matcher-master\OrderMatcher\OrderMatcher.Performance\bin\Release\net6.0\3f0ec4b6-059e-40aa-a1d7-e6e3ff6cf7db\3f0ec4b6-059e-40aa-a1d7-e6e3ff6cf7db.notcs:line 162 --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Span1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at BenchmarkDotNet.Autogenerated.UniqueProgramName.AfterAssemblyLoadingAttached(String[] args) in E:\OrderMatcher\order-matcher-master\OrderMatcher\OrderMatcher.Performance\bin\Release\net6.0\3f0ec4b6-059e-40aa-a1d7-e6e3ff6cf7db\3f0ec4b6-059e-40aa-a1d7-e6e3ff6cf7db.notcs:line 84

ArjunVachhani commented 2 years ago

@P9avel Thanks for reporting this. I have few pending change yet to be pushed. in mean time you can allocate proper memory by calling BookSerializer.GetMessageSize(bookDepth)

P9avel commented 2 years ago

Please say ETA when you planning uploading new version?

ArjunVachhani commented 2 years ago

Probably in a week.