QuickFIX - Dev
only in this topic
Open this post in threaded view
I created a Quickfix branch on Github which introduces a large number of performance improvements and adds a few API features to build messages more efficiently.
Optional use of non-standard containers from Boost, Google Sparsehash
Custom allocator for FieldMap entries
Rewritten type convertors
Bitmap filters for validation checks on common fields
Streamlined tx/rx pipelines to avoid object copying
Optional short string optimization for glibc builds
Partial field checksum calculation at compile time
Optimized field sorting functions
File IO via direct OS calls
... and a lot of other miscellaneous tweaks including those from pending patches on sourceforge by Viktor Pogrebnyak and others.
FieldMap::setField gets a template overload
addGroup returns a reference to the added FieldMap
Virtual destructor has been removed from DateTime class
Removal/replacement of low-level interfaces here and there
Field types get a nested Pack type for faster field construction
Floating point type serialization can be performed with explicit rounding
Logging and message store callbacks invoked with data in scatter-gather buffers. If not overloaded these call original callbacks with data copied to a string object.
Overall effect is 2-10 times improvement in the components of the performance test benchmark with corresponding overall latency reduction and throughput increase.
Some of these changes can possibly end up in the mainline over time however long and arduous may be the wait.
This has been tested to some extent on CentOS 6 and Windows 8, however there could be serious bugs not detected by the unit testing framework, so usual caveats apply.
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
Quickfix-developers mailing list
Return to QuickFIX - Dev
1 view|%1 views
Free forum by Nabble
Edit this page