{"id":13419118,"url":"https://github.com/fix8/fix8","last_synced_at":"2026-03-12T11:36:48.130Z","repository":{"id":2194055,"uuid":"3142204","full_name":"fix8/fix8","owner":"fix8","description":"Modern open source C++ FIX framework featuring complete schema customisation, high performance and fast development.","archived":false,"fork":false,"pushed_at":"2023-07-28T08:35:22.000Z","size":254139,"stargazers_count":397,"open_issues_count":0,"forks_count":152,"subscribers_count":62,"default_branch":"master","last_synced_at":"2024-07-31T22:45:46.955Z","etag":null,"topics":["berkeley-db","c-plus-plus","doxygen","fastflow","fix","fix44","fix8-market","fixengine","fixprotocol","jira","linux","message-persistence","modern","osx","schema"],"latest_commit_sha":null,"homepage":"http://www.fix8.org","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fix8.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-01-10T02:56:09.000Z","updated_at":"2024-07-31T20:31:39.000Z","dependencies_parsed_at":"2022-07-14T23:17:04.121Z","dependency_job_id":"ee6ee454-0c81-49d7-b605-4b8da0392fad","html_url":"https://github.com/fix8/fix8","commit_stats":{"total_commits":499,"total_committers":32,"mean_commits":15.59375,"dds":0.5551102204408818,"last_synced_commit":"ba3526468ff0c82ee26831c31741d53dba5460dc"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fix8%2Ffix8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fix8%2Ffix8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fix8%2Ffix8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fix8%2Ffix8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fix8","download_url":"https://codeload.github.com/fix8/fix8/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243685506,"owners_count":20330980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["berkeley-db","c-plus-plus","doxygen","fastflow","fix","fix44","fix8-market","fixengine","fixprotocol","jira","linux","message-persistence","modern","osx","schema"],"created_at":"2024-07-30T22:01:11.575Z","updated_at":"2025-12-17T09:23:54.478Z","avatar_url":"https://github.com/fix8.png","language":"C++","readme":"\nFix8 Open Source C++ FIX Engine\nA modern open source C++ FIX framework featuring complete schema driven customisation, high performance and fast application development.\nThe system is comprised of a compiler for generating C++ message and field encoders,\ndecoders and instantiation tables; a runtime library to support the generated code\nand framework; and a set of complete client/server test applications.\nFix8 Market Tech develops and maintains Fix8 and Fix8Pro, the commercially supported version of Fix8.\nContents\n\nContents\nFeatures\nDirectory Layout\nDocumentation\nBranch Layout\nC++11\nExternal Dependencies (required)\nOptional Dependencies\nBuilding on Linux/UNIX\nBuilding on OSX\nBuilding on Windows\nSupport\nDownloads\nGetting help or reporting problems\nMaking a Pull Request\nLicense\nFix8Pro and Fix8 Market Technologies\nMore Information\n\nFeatures\n\n\nFix8 helps you get your FIX protocol 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.\n\n\nStatically 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.\n\n\nFix8 is the fastest C++ Open Source FIX framework. Our testing shows that Fix8 is on average 68% faster encoding/decoding the same message than Quickfix. See Performance to see how we substantiate this shameless bragging.\n\n\nFix8 supports standard FIX4.X to FIX5.X and FIXT1.X. If you have a custom FIX variant Fix8 can use that too. New FIX versions will be supported.\n\n\nFix8 offers message recycling and a meta-data aware test harness. Incorporates lock free queues, atomics and many other modern techniques.\n\n\nFix8 contains a built-in unit test framework that's being continually revised and extended. Fix8 also has a metadata driven test harness that can be scripted to support captured or canned data playback.\n\n\nFix8 is a complete C++ FIX framework, with client/server session and connection classes (including SSL); support for the standard FIX field types; FIX printer, async logger, async message persister and XML configuration classes.\n\n\nLeverage standard components. Fix8 optionally uses industry recognised components for many important functions, including Poco, TBB, Redis, Memcached, BerkeleyDB, Fastflow, Google Test, Google Performance Tools, Doxygen and more. We didn't reinvent the wheel.\n\n\nFix8 statically supports nested components and groups to any depth. The Fix8 compiler and runtime library takes the pain out of using repeating groups.\n\n\nFix8 applications are fast. On production level hardware, client NewOrderSingle encode latency is now 2.1us, and ExecutionReport decode 3.2us. Without the framework overhead, NewOrderSingle encode latency is 1.4us. This is being continually improved.\n\n\nFix8 has been designed to be extended, customised or enhanced. If you have special requirements, Fix8 provides a flexible platform to develop your application on.\n\n\nFix8 supports field and value domain validation, mandatory/optional field assertion, field ordering, well-formedness testing, retransmission and standard session semantics.\n\n\nFix8 runs under industry standard Linux on IA32, x86-64, Itanium, PowerPC and ARMv7. It also now runs on Windows and OSX. Other *NIX variants may work too.\n\n\nDirectory Layout\n\n\n\nDirectory\nDescription\n\n\n\n\n./\nroot directory with configure\n\n\nm4/\nadditional m4 macros needed by configure\n\n\ncompiler/\nthe f8c compiler source\n\n\ncontrib/\nuser contributed files\n\n\ndoc/\nFix8 documentation\n\n\ndoc/man\nmanpages for Fix8 utilities\n\n\ndoc/html\ndoxygen documentation (optionally generated when built)\n\n\ninclude/\nheader files for the runtime library and compiler\n\n\ninclude/ff/\nheader files for FastFlow\n\n\nruntime/\nruntime library source\n\n\nstocklib/\nstock FIX library builds\n\n\nutil/\nadditional utilities source\n\n\nmsvc/\nMicrosoft Visual Studio project files\n\n\npro/\nFix8Pro extensions (commercial version only)\n\n\nschema/\nquickfix FIX xml schemas\n\n\ntest/\ntest applications client/server source\n\n\nutests/\nunit test applications\n\n\n\nDocumentation\nSee our Wiki for detailed help on using Fix8. Access to this documentation is free but will require\na login. For our complete API Documentation see here. All the source code is self-documenting using doxygen.\nBranch Layout\n\n\n\nBranch\ngithub path\nDescription\n\n\n\n\nmaster\nhttps://github.com/fix8/fix8/tree/master\nThis is the default branch. All stable releases are made here.\n\n\ndev\nhttps://github.com/fix8/fix8/tree/dev\nThis is the development stream and is updated continually. Features and bug fixes scheduled for release are developed and tested here.\n\n\ndev-premain\nhttps://github.com/fix8/fix8/tree/dev-premain\nThis branch is used to marshall development changes that are ready for release. When significant changes are made to the dev branch, this branch will be used to keep other changes separate.\n\n\ngh-pages\nhttps://github.com/fix8/fix8/tree/gh-pages\nThis branch contains the static html for the Fix8 website.\n\n\n\nC++11\nFix8 now requires C++11 compiler support. Fix8 will refuse to build without it. If you are using clang or gcc make sure you have the\n-std=c++11\n\nflag on your compiler command line. Some older compiler versions may no longer be supported. Sorry.\nExternal Dependencies (required)\nFix8 requires the following third-party software (header files and\nlibraries) being installed to build properly:\n\nPoco C++ Libraries basic edition\n\nAdditional libraries are needed for building on Windows, see here.\nOptional Dependencies\nYou can either choose the internally supplied Fastflow or use...\n\nIntel Threading Building Blocks OSS edition\n\nIf you wish to use the built-in unit tests (recommended):\n\ngoogletest\n\nIf you wish to use tcmalloc (recommended):\n\ngperftools\n\nIf you wish to build the html documentation, you will need:\n\nDoxygen\n\nIf you wish to use Redis for message persistence:\n\nhiredis\n\nIf you wish to use libmemcached for message persistence:\n\nlibmemcached\n\nIf you wish to use BerkeleyDB for message persistence:\n\nBerkeley DB C++\n\nBuilding on Linux/UNIX\nThe build system is based on automake/autoconf/libtool.\nYou must have libtool installed to build.\n% tar xvzf 1.4.1.tar.gz\n% cd fix8-1.4.1\n% ./bootstrap\n% ./configure\n% make\n% make install\n\nIf you have built the test cases, you can also run them as follows:\n% make check\n\nBuilding on OSX\nYou must have glibtool, autotools installed to build.\n% tar xvzf 1.4.1.tar.gz\n% cd fix8-1.4.1\n% export LIBTOOLIZE=`which glibtoolize`\n% ./bootstrap\n% ./configure\n% make\n% make install\n\nPlease see this document for more instructions for building on OSX.\nBuilding on Windows\nPlease see this document for detailed instructions for building on Windows.\nSupport\nPlease refer to the following pages for help:\n- FAQ\n- Fix8 support group\n- Fix8 developer group\n- API Documentation\n- Jira Issues page\n- Fix8 News\n- Wiki\n- Twitter\nDownloads\nPlease refer to the following page:\n- Downloads\nGetting help or reporting problems\n\n\nReview the topics on the Fix8 support group and\nthe Fix8 developer group.\nIf you cannot find any help there create a new topic and ask the support group for advice.\n\n\nPlease do not email us directly. Support questions sent directly to us will be redirected to the support group.\n\n\nPlease do not post the same question to both fix8-support and fix8-developer groups.\n\n\nIf you believe you have found a problem that needs fixing, go to the Jira Issues page,\nregister and create an issue. Provide as much detail as possible. Attach supporting files and extracts, like logfiles, stack traces,\nsample configuruation files, config.log, etc.\n\n\nIf you have already implemented a fix, and wish to make a pull request on Github, create an issue in Jira first.\nThis will help us track the problem and ensure that the solution is properly tested.\n\n\nWhen considering submitting a problem report, make sure you have identified a potential problem with Fix8 and not a problem with your application.\nThese aren't necessarily the same thing. For example if your application is crashing, there are many possible causes and some will relate\nto your build, your code and your configuration and will not be a problem with the framework implementation. Make sure you have eliminated\nthese possibilities and that you have reviewed topics in the Fix8 support group and\nthe Fix8 developer group before submitting a problem report.\n\n\nWe also provide commercial support and help. See below.\n\n\nWe welcome genuine problem reports and encourage users to help us improve the product - for you and with your help.\n\n\nIf you are on LinkedIn join the LinkedIn group Fix8 Users and Developers\nfor more help and information about the Fix8 project.\n\n\nMaking a Pull Request\nIf you want to submit a change to the repository, it needs to be made on the dev branch. The following instructions may help:\n\nLogin to Jira, create a ticket for your changes, describing in detail the bug fix or improvement\nLogin to github\nCreate a fork of fix8\nIf you are using the command line git, clone your fork and choose the dev branch% git clone https://github.com/[your_repo_name]/fix8.git -b dev\nMake your changes to this branch\nSubmit changes to your branch and push the branch to your fork\nCreate a pull request at fix8:dev\nWait for your pull request to be accepted to fix8:dev\nUpdate your fork with recent fix8:dev\n\nLicense\nFix8 is released under the GNU LESSER GENERAL PUBLIC LICENSE Version 3.\nSee License for more information.\nFix8Pro and Fix8 Market Technologies\nFix8Pro is the commercially supported version of Fix8. Fix8 Market Technologies\n(Fix8MT) develops and maintains both Fix8Pro and the Fix8 open source versions.\nFix8MT has developers in Australia, China, Canada and the Russian Federation as well as partners in Australia, Japan and India.\nFix8MT is responsible for providing and managing additional support and consultancy services, and works closely with the\nFix8 open source community and partners to grow commercial support services through 3rd party ISVs.\nFor more information about Fix8Pro see the Fix8Pro website.\nMore Information\nFor more information, see the Fix8 website.\n","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffix8%2Ffix8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffix8%2Ffix8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffix8%2Ffix8/lists"}