Web Analytics
yangyang

码农兼一个普普通通小青年

All Posts in 2026


股票行情处理的性能优化与实践

本文针对高频交易与极速行情系统中的“生产者-消费者”队列同步机制,以行情处理模块为例,剖析了四代架构的性能优化实践。最初基于 ConcurrentQueue 与 AutoResetEvent 的方案存在频繁的用户态至内核态切换开销,导致严重的算力浪费。为规避此瓶颈,系统先后引入了 .NET 的 BlockingCollection 以及基于 SemaphoreSlim 的定制方案,通过自旋等待(SpinWait)与轻量级信号量大幅降低了内核调度频率,但由于严格的计数映射,引入了冗余的状态维护成本。最终,系统采用 ManualResetEventSlim 进行重构,剥离了计数包袱,实现了状态同步的O(1) 极低开销。基准测试表明,采用轻量级无锁同步架构,相较于传统内核级锁,吞吐量耗时降低逾 37%。本文给出了每一阶段的演进代码与底层原理分析,为构建低延迟吞吐系统提供了参考。 …

AutoResetEvent ConcurrentQueue BlockingCollection SemaphoreSlim ManualResetEventSlim BenchmarkDotNet Producer-Consumer Model HFT

.NET程序启动报“未能加载文件或程序集 或它的某一个依赖项”的一种解决方法

在.NET引用第三方dll时,有时候会出现dll无法加载的情况,通常可能是这个第三方的dll缺失,版本不对(通常报BadImage错误),或者是dll的依赖性没有正确加载。以前通常靠猜,比如缺失了vc运行时环境之类的,现在有了Dependencies这类工具,可以非常方便的查看到底缺失了什么依赖项,这对于快速精准定位问题非常关键。本文分享了一个由于在开发环境错误使用了Debug版本的dll,编译发布到正式环境后,由于正式环境缺失Debug版本的VC运行时而导致dll无法加载从而报错的问题。这也从另外一方面提醒了,在正式环境下通常都需要编译成Release环境的一个隐藏问题。 …

FileNotFoundException

基于BFS算法的停车场出库问题求解与实现

本文以益智游戏《停车场出库(Car Park Puzzle)》为应用背景,针对其车辆调度与最短路径求解问题,展开广度优先搜索(BFS)算法的实践研究。该游戏借鉴华容道机制,要求在网格场地内按车辆方向约束移动车辆,将目标车辆引导至出口,中高难度关卡人工求解效率较低。文章在上一篇迷宫寻路算法的基础上,对比分析了传统迷宫 BFS 与停车场状态空间 BFS 的差异,详细阐述了从单点坐标搜索到全局局面状态搜索的算法升级思路。项目使用 C++ 结合 Qt 框架实现完整游戏系统,采用 CMake 构建,运行于 Windows+Visual Studio 环境。内容涵盖停车场网格与车辆的数据结构建模、游戏状态编码与去重策略、BFS 最优解搜索核心流程、最小步数证明、Qt 界面绘制、鼠标拖拽与键盘交互逻辑设计,并增加了搜索状态计数功能以评估算法效率。 …

Qt BFS Shortest Path Parking Lot Puzzle State Space Search Game Algorithm

迷宫与网格寻路:四种经典算法对比

本文介绍了DFS、BFS、Dijkstra 与 A * 这四类经典的图与网格搜索算法。DFS采用深度优先、碰壁回溯的思路,借助栈实现,空间开销小,但不保证最短路径,适合只需找到任意可行路径的场景。BFS以队列逐层扩展,能在无权图中得到最短路径,属于盲目搜索,扩展范围较大。Dijkstra使用优先队列,可处理带权路径,能找到全局最小代价路线,但同样盲目扩展,在大网格中效率偏低。A*在 Dijkstra 基础上引入启发函数,结合已走代价与预估剩余距离,有方向地搜索,在满足可采纳性时可得到最优解,效率显著更高,是游戏导航、路径规划等场景的主流选择。整体上,四者从盲目到启发、从简单到高效,覆盖了从可行路径到最优带权路径的不同需求。 …

Dijkstra DFS BFS A Star Pathfinding

中金所股指期权介绍以及保证金计算

在量化交易的版图中,股指期权(Stock Index Options)不仅提供了非线性的收益结构,更是机构投资者进行波动率管理与风险对冲的核心工具。中金所(CFFEX)的股指期权合约(IO/HO/MO)不仅交易规则复杂,其保证金计算机制更是风控系统开发中的一道坎。本文从程序员的视角出发,解析期权与期货的联动逻辑,并从技术层面解决如何从 CTP 接口中计算期权合约保证金,最终构建一个兼顾盘中估算与盘后结算风控的 C# 资金计算模型。 …

CTP CFFEX MarginRate

订单簿重建引擎的架构演进与性能优化

在构建低延迟交易系统时,全速盘口(OrderBook)的实时重建是数据处理链路中计算密度最高、对延迟最敏感的环节之一。本文将详细阐述 FastMarketDataManager 组件的演进历程,分析从单线程模型到静态分片,再到基于消息队列的动态负载均衡架构的技术决策过程,重点介绍如何在保证数据严格时序的前提下,摒弃了传统的加锁同步方案,转而利用消息队列的 FIFO 特性,设计了基于控制指令(Command Pattern)的异步迁移流程,解决热点股票引发的队头阻塞(Head-of-Line Blocking)问题。 …

OrderBook tas marketdata orderbook reconstruction