缓存、栈、堆与性能剖析
你在一家国内头部私募 quant 桌上,周末把一段单线程的沪深300成分股信号聚合器用 C++17 重写。重写"显然更快"——更少的分配、更紧的循环、通篇现代 C++17。周一集成测试都过,墙钟时间却慢了百分之四十。PM 问你为什么。你盯着 diff 看不出名堂,因为你写代码时感到的"更快",住在 C++ 标准之下的一层里:住在缓存层级里、住在一次栈指针挪动...
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 9 个结果
English questions你在一家国内头部私募 quant 桌上,周末把一段单线程的沪深300成分股信号聚合器用 C++17 重写。重写"显然更快"——更少的分配、更紧的循环、通篇现代 C++17。周一集成测试都过,墙钟时间却慢了百分之四十。PM 问你为什么。你盯着 diff 看不出名堂,因为你写代码时感到的"更快",住在 C++ 标准之下的一层里:住在缓存层级里、住在一次栈指针挪动...
打开 →周三上午,你在国内某头部私募的衍生品自营桌做期权 Greeks 重估。沪深300 ETF(510300.SH)期权链上挂着 480 张合约,每张合约要算一次 Delta、Gamma、Vega、Theta,每个 Greek 都是一次 100 万路径的 Monte Carlo——480 × 4 × 1M = 19.2 亿条路径。上一课你已经用 monotonic...
打开 →周一上午十点,你在国内某头部私募的成交分析(execution analytics)桌,昨夜成交回报落了一份 1M 条沪深300成分股的明细。组长要的不复杂:这一篮子今日的 VWAP(volume weighted average price)是多少?你 30 行 C++17 写完,跑一遍 4.3 ms。下午组长又问:能不能把它压到 1 ms 以内——他想在...
打开 →周五下午两点,你在国内一家头部私募的做市桌写 C++。早盘上线了一版新写的 on tick 处理流程,沪深300成分股的 tick 流压进策略;你顺手 perf record 采了五秒看火焰图。策略逻辑本身只占 60% 周期,另外 40% 不在你写的任何函数里——而是稳稳落在 int malloc 、 int free 、 malloc consolidat...
打开 →某上海私募的股票多空基金组合经理周一上午盯着一份回测:沪深300 截面 P/E long cheap / short expensive 价值策略,12 年夏普比率 1.4,最大回撤 11%,可以放到周三投决会上。同一策略半年前由资深量化跑出来夏普只有 0.7。信号、标的池、交易成本模型 全部相同——区别仅在:新回测读 fundamentals curren...
打开 →周二早上九点半,CFFEX 开盘前。某保险资管(私募 之外的机构主力)固收交易台调出今日风险日报,组合 DV01 行写着 ¥1,240,000——中债利率曲线平移 1bp,账户当日盈亏约 124 万元。这是风险总监开盘前唯一会盯的数字。本课把这行数字拆开:从麦考利久期(Macaulay duration)出发,过到修正久期(modified duration...
打开 →你在一家国内头部私募 quant 桌的第一天上午,负责低延迟策略代码的 senior 把一把 USB key 拍在你桌上,指着旁边那台跑 Ubuntu 的 Linux 工作站说:"中午之前把一个 Black Scholes 定价器编出来跑通。你用什么编辑器我不管,但 build 必须能从干净的仓库一键复现。"过去三个 Python 子学科没有为你接下来这九十...
打开 →某国内头部私募(类似幻方量化)的初级 quant 第一次用 C++ 写了一个五日滚动 VWAP 函数。它加载 510300.SH 收盘价、用 new double[5] 申一段 buffer、算滚动均值、返回结果。单元测试过。集成测试过。两周后,同一个函数被一段每秒跑一万次的热路径调用,交易进程在一天之内常驻内存悄悄涨到 80 GB,直到内核 OOM kil...
打开 →某 沪深 300 私募 的 风控 在 飞书 上 找你:『我 昨晚 在 笔记本 样本 上 跑 30 毫秒 出结果 的 按 标的 回撤 查询,今天 打到 生产 上 跑 了 12 分钟。同样 的 SQL,同样 的 方言,同样 的 bars 1m 表——到底 什么 变了?』SQL 没变。变 的 是 行数:笔记本 5 万 行,生产 14 亿 行。『样本 上 快、生产 ...
打开 →