CppCon 2016: "Achieving performance in financial data processing through compile time introspection"
Update: 2016-11-03
Description
Published on Oct 7, 2016
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
C++ does not yet have complete introspection (reflection), but in many cases it may be easy to complete. We will present an example of what we think is is a general method whenever data specifications may be converted to C++ through a code generator. We have done this for processing financial market data very sensitive to latencies and obtained huge advantages of
* Economy of effort
* Performance
* Reliability
* Extensibility
over any other option we considered. We will show:
* How we converted the specification of market data from an important exchange, CME MDP3, into C++ types and a minimal set of variadic templates that give us full introspection capabilities
* The code and the techniques to implement generic introspecting software components, including these concrete examples:
* Converting any value that belongs to the specification into string
* Testing for whether the value is null in any of the three ways the specification allows encoding of null values
* Applying design patterns such as flyweights to traverse the data with zero or minimal performance cost
* Subscription mechanisms
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
C++ does not yet have complete introspection (reflection), but in many cases it may be easy to complete. We will present an example of what we think is is a general method whenever data specifications may be converted to C++ through a code generator. We have done this for processing financial market data very sensitive to latencies and obtained huge advantages of
* Economy of effort
* Performance
* Reliability
* Extensibility
over any other option we considered. We will show:
* How we converted the specification of market data from an important exchange, CME MDP3, into C++ types and a minimal set of variadic templates that give us full introspection capabilities
* The code and the techniques to implement generic introspecting software components, including these concrete examples:
* Converting any value that belongs to the specification into string
* Testing for whether the value is null in any of the three ways the specification allows encoding of null values
* Applying design patterns such as flyweights to traverse the data with zero or minimal performance cost
* Subscription mechanisms
We hope these code examples will show how straightforward and maintainable metaprogramming techniques can emulate introspection for truly significant quality gains.
Support code at github:
https://github.com/thecppzoo/cppcon2016/
—
Eduardo Madrid
Software Developer, Crabel Capital Management
Eduardo Madrid has over 18 years of C++ experience and works as Software Developer at Crabel Capital Management. The material for this presentation is derivative of work made by him currently running in production at "Crabel" to process CME MDP3 financial data. "Crabel" is a Hedge Fund with activities including automated trading, it has been continuously successful for over two decades, and is among the largest trader of Futures
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
 https://github.com/thecppzoo/cppcon2016/
—
Eduardo Madrid
Software Developer, Crabel Capital Management
Eduardo Madrid has over 18 years of C++ experience and works as Software Developer at Crabel Capital Management. The material for this presentation is derivative of work made by him currently running in production at "Crabel" to process CME MDP3 financial data. "Crabel" is a Hedge Fund with activities including automated trading, it has been continuously successful for over two decades, and is among the largest trader of Futures
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

Comments 
In Channel







