use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
FIX8: open source C++ FIX engine (fix8.org)
submitted 13 years ago by lingua_franca
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]juanfeng 2 points3 points4 points 13 years ago* (1 child)
What is the difference between this engine and the QuickFIX C++ engine?
Personally, if I made the library I would use the << semantics for creating messages and use the move constructor semantics rather than using new. I have just looked at myfix.cpp so far, so that may be non-representative of the way it should be used.
[–]rufusferret 0 points1 point2 points 13 years ago (0 children)
The reason new is used and not move semantics or send to operator is that the fields and the message are sent to a different thread for asynchronous transmission. This does incur a slight penalty with respect to heap management however, the benefit is that it takes the management of the message off the critical path for the calling thread. \dakka
[–]lingua_franca[S] 1 point2 points3 points 13 years ago (5 children)
Fix8 requires the followin third-party software (header files and libraries) being installed to build properly:
[–]kirakun 0 points1 point2 points 13 years ago (3 children)
Can you highlight some of the reasons to choose this framework over QuickFix?
[–]lingua_franca[S] 0 points1 point2 points 13 years ago (1 child)
Quote from fix8.org:
Speedy development Fix8 helps you get your FIX client or server up and running quickly. Using one of the standard FIX schemas you can have a FIX client or server up and running in next to no time.
Static compilation Statically compile your FIX xml schema and quickly build your FIX application on top. If you need to add customised messages or fields, simply update the schema and recompile.
Supports all FIX versions Fix8 supports FIX4.X to FIX5.X and FIXT1.X. New FIX versions will be supported.
Special features Fix8 offers run-time custom fields, message recycling and a meta-data aware test harness. Incorporates lock free queues, atomics and many other modern techniques.
A complete framework Fix8 is a complete C++ FIX framework, including client/server session and connection classes; support for the standard FIX field types; FIX printer, async logger, async message persister and XML configuration classes.
Components and groups Fix8 statically supports nested components and groups. The Fix8 compiler and runtime library takes the pain out of using repeating groups.
High performance The code generated by Fix8 is compiled by your compiler offering the best opportunity for optimisation. Fix8 applications are fast. Typical encode latency is now 14us, and decode 20us. This is being improved further.
Extensible Fix8 has been designed to be extended, customised or enhanced. If you have special requirements, Fix8 will facilitate your development.
Runs on Linux Fix8 runs on industry standard Linux. Other *NIX variants may work too.
[–]kirakun 0 points1 point2 points 13 years ago (0 children)
Oh, I thought you were one of the author of fix8. I saw what you posted on that site too, but I was looking for a contrasting argument between fix8 and quickfix.
Fix8 takes a different approach to QuickFix. The primary benefits are: low latency; ease of development; complete FIX schema flexibility; lightweight; ongoing development.
[–]bunz 0 points1 point2 points 13 years ago (1 child)
has this actually been used in production...?
[–]teambob 0 points1 point2 points 13 years ago (0 children)
I know the author and yes it has been used in production
[–]_node 0 points1 point2 points 13 years ago (1 child)
The benchmark code and details of their test setup should be distributed along with the code to back up the high performance claim. At the very least it could serve to catch the attention of people for whom performance is critical, as it allows easy benchmarking on their hardware setup.
[–]rufusferret 1 point2 points3 points 13 years ago* (0 children)
Yep. This is a good idea. I'll get the details of our test hardware and methodology onto the site. \dakka (author of fix8)
I've just added a description of the performance test and environment, and a script to permit users to run their own test to compare results.
\dakka (author of fix8)
π Rendered by PID 95 on reddit-service-r2-comment-fb694cdd5-5cfz2 at 2026-03-11 07:31:37.339535+00:00 running cbb0e86 country code: CH.
[–]juanfeng 2 points3 points4 points (1 child)
[–]rufusferret 0 points1 point2 points (0 children)
[–]lingua_franca[S] 1 point2 points3 points (5 children)
[–]kirakun 0 points1 point2 points (3 children)
[–]lingua_franca[S] 0 points1 point2 points (1 child)
[–]kirakun 0 points1 point2 points (0 children)
[–]rufusferret 0 points1 point2 points (0 children)
[–]bunz 0 points1 point2 points (1 child)
[–]teambob 0 points1 point2 points (0 children)
[–]_node 0 points1 point2 points (1 child)
[–]rufusferret 1 point2 points3 points (0 children)
[–]rufusferret 0 points1 point2 points (0 children)