zhuoqiang / taf

Trading Application Foundations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

Taf(Trading Application Foundations) provides a framework for low-latency trading system development based on Intel x86-64.

Features

  • Based on Intel TBB, SIMD(AVX2+), lock-free queue, etc to optimize the performance.
  • Nanosecond timestamp available.
  • Developed with standard C++, corss-platform (windows and linux) is definitely supported.
  • All dependencies included in pack, no need to download any other libs (like TBB).
  • Provide C interface for multiple language calls (like Python).
  • The delay for a simple application could be less 10us.

Before Compilation

  • Check your hardware availability to make sure that AVX2 or AVX512F is supported.
  • C++17 compiler is needed.
  • TBB libs and binary located in taf/libs/tbb/bin/

Compilation

Windows

  • Must use Visual Studio 2019 or above
  • open taf/master/build/msvs/taf.sln
  • Must select x64 mode
  • Open taf/master/src/libs/taf/common/simd/simd.hpp to switch USE_AVX512 or USE_AVX512_BELOW micro (already existed in the file), depending on your hardware.
  • Add /std:c++latest to C/C++ -> Command Line
  • Config TBB env path in Configration->Debugging->Environment: path=..., could refer the properties config in example

Linux

  • gcc 8.2 or above
  • Example makefile is in taf/master/build/
  • Must add -mavx2(-mavx512f) -std=c++17 to g++ command line
  • Config TBB env path like LD_LIBRARY_PATH=... : /taf/libs/tbb/bin/linux
  • example:
    $ cd taf/master/build
    $ make
    $ ./example

About

Trading Application Foundations

License:Apache License 2.0


Languages

Language:C++ 98.9%Language:C 1.1%Language:Makefile 0.0%