c++ - What are the lowest possible latencies for a FIX engine to send a FIX message from client to server? -


i building fix engine in c++ don't have reference know considered performance number. taking account network time , fix parsing time, time in microseconds client send fix message server? know current lowest possible latencies expected simple fix-message-from-client-to-server operation?

that depend on how fast fix engine can parse bytes fixmessage object , more importantly on how fast network code is. writing network stack too? writing fix engine looks simple outside complex task many corner cases , features have cover. going support retransmission? asynchronous audit-logging? fix session timers? repeating groups inside repeating groups? should consider using open-source or commercial fix engine.

as latencies should expect, unaware of fix engine can go below 4.5 microseconds. that's one-way total time write fixmessage object bytebuffer, transfer bytebuffer on network server, server reads bytebuffer network , parses fixmessage object. if using descent fix engine, bottleneck network i/o, not fix parsing.

to give numbers, here benchmark coralfix, fix engine written in java. if can go below that, please let me know :)

messages: 1,800,000 (one-way) avg time:         4.774 micros min time:         4.535 micros max time:        69.516 micros 75%     =   [avg: 4.712 micros, max:  4.774 micros] 90%     =   [avg: 4.726 micros, max:  4.825 micros] 99%     =   [avg: 4.761 micros, max:  5.46  micros] 99.9%   =   [avg: 4.769 micros, max:  7.07  micros] 99.99%  =   [avg: 4.772 micros, max:  9.481 micros] 99.999% =   [avg: 4.773 micros, max: 24.017 micros] 

disclaimer: 1 of developers of coralfix.


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -