C++ development framework for building reliable cache-friendly distributed and concurrent multicore software
Switch branches/tags
Nothing to show
Clone or download
Latest commit 39a9cfd Nov 19, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc v2.6.4 adds TimerActor Jun 28, 2018
include v2.6.4 adds TimerActor Jun 28, 2018
src v2.6.4 adds TimerActor Jun 28, 2018
test v2.6.4 adds TimerActor Jun 28, 2018
thirdparty day 0 Jun 1, 2018
tutorials v2.6.4 adds TimerActor Jun 28, 2018
.clang-format day 0 Jun 1, 2018
.gitattributes day 0 Jun 1, 2018
.gitignore day 0 Jun 1, 2018
.gitmodules day 0 Jun 1, 2018
CHANGELOG.md fixed typos Nov 19, 2018
CMakeLists.txt v2.6.4 adds TimerActor Jun 28, 2018
LICENSE day 0 Jun 1, 2018
README.md Update README.md Jul 28, 2018

README.md

About

Simplx is a C++ development framework for building reliable cache-friendly distributed and concurrent multicore software.

Simplx was developed by Tredzone SAS. We provide software technology solutions and services dedicated to high-performance real-time processing. Our technology enables low and predictable latency, scalability, and high throughput. We also offer support contracts and enterprise tools for monitoring, profiling, debugging, server clustering under commercial licenses.

Simplx is used at the Paris Stock Exchange by Euronext's market exchange platform, called Optiq, and has been successfully deployed since November 2016.

Tredzone was founded in 2013 and operates in France, the UK and US.

Requirements

This code has been built and unit-tested on Linux with:

  • Linux kernel 2.6+
  • g++ versions 4.9.4, 5.5, 6.4 and 7.3
  • clang++ 3.9.1 with the libstdc++ runtime

It requires either C++ 11, 14 or 17 and the pthreads library. Support for Windows/VisualC++ will be announced soon.

License

Simplx is open-sourced under the Apache 2.0 license, please see the accompanying License.

Getting Started

About a dozen tutorials are included here, please see the Tutorials README.

To build all tutorials, open a terminal at the root of the repository and type:

mkdir build
cd build
cmake ..
make

Unit Tests

To build and run the unit tests, which depend on the Google Test submodule, open a terminal at the root of the repository and type:

git submodule update --init --recursive
mkdir tbuild
cd tbuild
cmake -DBUILD_TEST=1 ..
make

to then run the unit tests type:

make test

There is also a Bash script that'll unit-test all above-mentionned versions of gcc and clang under Docker. The 1st run takes a while to download the Docker images.

Documentation

To generate the documentation, open a terminal at the repository root and type

doxygen doc/Doxyfile