Skip to content

Repository files navigation

fengchi

由 OSpec CLI 初始化生成

项目简介

fengchi(风驰) 是一个面向金融行情数据的端到端低延迟处理引擎原型,目标是在目标硬件上实现微秒级 tick-to-trade 延迟。

它覆盖行情数据处理的完整链路:

  • 接入层:支持 DPDK 虚拟 PMD 抓包(net_pcap / net_tap)和 iTick WebSocket 行情数据源,便于本地开发与压测。
  • 协议解析:基于 simdjson 的高性能 JSON 行情解析器,统一输出规范化市场数据结构。
  • 传输层:无锁单生产者单消费者环形队列(SPSC Ring),核心路径避免动态内存分配。
  • 消费层:可插拔消费者接口,内置打印消费者用于快速验证。
  • 可观测性:内置 Google Benchmark 微基准与 gtest 单元测试,支持性能回归与稳定性评估。

技术栈

  • 语言:C++23
  • 构建系统:xmake
  • 解析:simdjson
  • 网络 I/O:DPDK(虚拟 PMD 开发)、iTick WebSocket
  • 测试:gtest
  • 压测:Google Benchmark
  • 任务运行:just

快速开始

安装依赖

Arch Linux:

just setup-deps-arch

Ubuntu / Debian:

just setup-deps-ubuntu

开发

just dev      # 配置 debug + 构建 + 生成 LSP 数据库
just check    # 运行 xmake 语法检查(无需 clang-format/llvm)
just test     # 运行单元测试
just ci       # 运行完整 CI 流水线(build + syntax check + test + lint)
just --list   # 查看所有可用命令

编辑器 / LSP 提示

如果你使用 clangd,务必运行 just devjust compile-commands 生成 compile_commands.json,否则 clangd 会报 fengchi/xxx.hpp file not found 等错误。

详见 docs/pitfalls/compile-commands-for-clangd.md

项目知识层

  • 根技能文档:SKILL.md
  • 文档中心:docs/SKILL.md
  • 可选知识地图:knowledge/src/SKILL.mdknowledge/tests/SKILL.md
  • 语义索引:SKILL.index.json

执行层

Active change 位于 changes/active/<change>

About

基于 DPDK 的微秒级行情解析引擎(原型)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages