<p dir="ltr">The usual way to do this is to have your OnMessage callbacks do nothing but put a copy of the msg onto a queue for later processing. I.e. similar to what you are doing, but you let QF do the parsing for you before you do the queueing. That should be doable at way faster than 60/sec. Not sure if anyone has any QF/n perf numbers lying around... </p>
<p dir="ltr">Anyway, in general you want to return from the QF callbacks asap, otherwise you are blocking its processing thread.</p>
<div class="gmail_quote">On Nov 4, 2013 1:10 PM, "Gaull, James" <<a href="mailto:JGaull@ftportfolios.com">JGaull@ftportfolios.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thank you very much for your reply. I will look into getting this to work with a FIX42.Message.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">If it’s not out of scope for this forum, I’d like to explain my thought process behind using the message queue. I need to be able to receive about 1000 messages
per second through my C# application from the FIX hub we’re using but I don’t have a requirement to process all of these messages that quickly. I started out by writing code to process the execution report messages in the FromApp function but found that I
was only able to process about 60 messages per second which was unacceptable since it will slow down the FIX hub. My thought was that if my FromAdmin function just writes the FIX messages to a queue, I could then have another process pop these FIX messages
off the queue and I could process them without slowing down the FIX hub.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Maybe I’m overthinking this. I’d really be interested in hearing how others are delegating the processing of the messages so they’re not slowing down the receiving
of messages. But I understand this may be out of scope for this forum.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:quickfixn-bounces@lists.quickfixn.com" target="_blank">quickfixn-bounces@lists.quickfixn.com</a> [mailto:<a href="mailto:quickfixn-bounces@lists.quickfixn.com" target="_blank">quickfixn-bounces@lists.quickfixn.com</a>]
<b>On Behalf Of </b>Mike Gatny<br>
<b>Sent:</b> Monday, November 04, 2013 10:53 AM<br>
<b>To:</b> Mailing list for QuickFIX/n<br>
<b>Subject:</b> Re: {{Quickfixn}} Crack Message from String<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p>The cracker delegates to OnMessage using the (C#) Type of the Message. So you need to create a FIX42.Message instead of a Message in order for your call to crack() to work. See line 505 of Session.cs in the master branch to see how QF itself does this.<u></u><u></u></p>
</div>
</div>
<br>_______________________________________________<br>
Quickfixn mailing list<br>
<a href="mailto:Quickfixn@lists.quickfixn.com">Quickfixn@lists.quickfixn.com</a><br>
<a href="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com" target="_blank">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>
<br></blockquote></div>