I've created a patch with some small performance optimizations on .NET message cracker to take advantage of runtime type checking instead of checking message type field and begin strings. This small optimization can generate great benefits in a long run, helping to reduce latency.
On my home computer I've observed the following results:
Before the patch # of iterations: 10.000.000
Best Case (QuickFix44.Heartbeat) - 00:00:10.9466428
Worst Case (QuickFix44.CollateralInquiryAck) - 00:00:21.3114432
After the patch # of iterations: 10.000.000
Best Case (QuickFix44.Heartbeat) - 00:00:01.2027634
Worst Case (QuickFix44.CollateralInquiryAck) - 00:00:12.3130809
Which means a performance increase of 73% on the worst case - the last if on QuickFix44.MessageCracker (CollateralInquiryAck) -, and a performance increase of 810% on the best case - the first if on QuickFix44.MessageCracker (Heartbeat).
View and moderate all "patches Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Patches"
SVN Patch File
Updated the generator to generate this type of code for all message crackers.