FIX

Using propritary implementation designed to be cache friendly and avoid memory allocations.

Gateways may bundle tool to compute benchmark metrics, e.g.

conda install -y --channel https://roq-trading.com/conda/stable \
    roq-deribit

roq-deribit-benchmark --benchmark_filter="BM_fix_*"

You should then be able to see something like this

-------------------------------------------------------------------------------------------------
Benchmark                                                       Time             CPU   Iterations
-------------------------------------------------------------------------------------------------
BM_fix_execution_report_parse_message                         601 ns          601 ns      1035141
BM_fix_heartbeat_parse_message                                136 ns          136 ns      5163223
BM_fix_logon_parse_message                                    361 ns          360 ns      1940403
BM_fix_logon_create_message                                   489 ns          489 ns      1438179
BM_fix_logout_parse_message                                   142 ns          142 ns      4932632
BM_fix_market_data_increment_refresh_parse_message_1          521 ns          521 ns      1343861
BM_fix_market_data_increment_refresh_parse_message_2         1920 ns         1920 ns       365391
BM_fix_market_data_request_reject_parse_message               157 ns          157 ns      4467807
BM_fix_market_data_snapshot_full_refresh_parse_message      27570 ns        27546 ns        25225
BM_fix_new_order_single_create_message                        504 ns          504 ns      1317497
BM_fix_order_cancel_reject_parse_message                      155 ns          155 ns      4521796
BM_fix_order_cancel_replace_request_create_message            550 ns          549 ns      1308374
BM_fix_order_cancel_request_create_message                    295 ns          294 ns      2401225
BM_fix_position_report_parse_message                          541 ns          540 ns      1296059
BM_fix_reject_parse_message                                   154 ns          154 ns      4553341
BM_fix_security_list_parse_message                         150536 ns       150521 ns         4652
BM_fix_user_response_parse_message                            426 ns          426 ns      1627842

Note

The FIX decoder is proprietary and will not be described any further here.