CME FastFix Decoder

Guys,

Has anyone used the FastFix Decoder available from the cme. http://www.cmegroup.com/globex/resources/fix-fast-decoder-
agreement.html

If so, how would you rate it’s performance?

It decodes and then generates the fix strings. Our initial tests
show that it takes 1.7ms to do this for each message. I presuming I
should be aiming for much faster times than this?

Many Thanks.

  • Lee.

Taking this question a little further, has anyone used the C++
Decoder?

-jd-
Hello! I have been evaluating the C++ CME decoder, and found many
limitations and bugs. First it only implements a subset of FAST 1.1
(e.g., no Group Field Instruction); then it’s unable to build codecs
from XML containing TemplateRef tags; then it’s been designed to run
exactly once on a buffer containing one or more FAST messages – that is
many statics, and various states not easily resetables. It is not thread
safe at all. Finally it’s got some bugs, causing it to core dump on some
of CME’s own feeds (such as snapshots) (due to incorect PMAP handling).

All this considered, this piece of code is indeed very useful as a
“bootstrap” into coding a decoder, but by no mean something useful in
production.

I’d recommend either going with a off the shelf product, or develop one
from scratch.

Hope this helps,

JS

I’ve found the same issues as well. The statics and thread-safety issues were what stood out to me.

I really wish there was an open-source project for FAST like QuickFIX. There are so many gotcha’s with FAST you really need a large set of eye’s to make sure all criteria has been met.

-jd-

there is one. http://www.openfast.org

Guys,

Has anyone used the FastFix Decoder available from the cme. http://www.cmegroup.com/globex/resources/fix-fast-decoder-
agreement.html

If so, how would you rate it’s performance?

It decodes and then generates the fix strings. Our initial tests
show that it takes 1.7ms to do this for each message. I presuming
I should be aiming for much faster times than this?

Many Thanks.

  • Lee.

Taking this question a little further, has anyone used the C++
Decoder?

-jd-
Hello! I have been evaluating the C++ CME decoder, and found many
limitations and bugs. First it only implements a subset of FAST 1.1
(e.g., no Group Field Instruction); then it’s unable to build codecs
from XML containing TemplateRef tags; then it’s been designed to run
exactly once on a buffer containing one or more FAST messages – that
is many statics, and various states not easily resetables. It is not
thread safe at all. Finally it’s got some bugs, causing it to core
dump on some of CME’s own feeds (such as snapshots) (due to incorect
PMAP handling).

All this considered, this piece of code is indeed very useful as a
“bootstrap” into coding a decoder, but by no mean something useful in
production.

I’d recommend either going with a off the shelf product, or develop
one from scratch.

Hope this helps,

JS

I’ve found the same issues as well. The statics and thread-safety issues
were what stood out to me.

I really wish there was an open-source project for FAST like QuickFIX.
There are so many gotcha’s with FAST you really need a large set of
eye’s to make sure all criteria has been met.

-jd-