Adam DePrince 在软件工作室里,身边是穿着裤子的丝羽乌骨鸡

C++ / Python / SIMD / 数据系统

让机器做得更多。

我开发开源系统软件:少占内存、多传数据, 并在硬件中找到最短路径。

我也让 Goblin 穿上裤子。

开源即证明

贴近机器而构建的软件。

我是一名 Python 和 C++ 系统程序员,专注于金融、高性能计算、 紧凑数据结构,以及那些延迟和内存会成为产品约束的软件领域。

你听过露营时的那个笑话:一个人开始穿跑鞋,另一个人说: “你跑不过熊。”没错,我做的就是那双鞋。 现在,跑吧。

项目 它是什么
stride-align stride-align 是一款采用 SIMD 加速的 Python/C++ 库,用于模糊 字符串匹配、序列比对、编辑距离、语音编码和时间序列距离。 它以高速原生内核实现 Smith-Waterman 和 Needleman-Wunsch, 支持 Unicode/CJK、全配对评分、top-k 搜索、动态时间规整,以及 x86、ARM、LoongArch 和 POWER 上的运行时 CPU 分派。
它还提供 rapidfuzz 与 parasail-python 兼容层,现有代码只需 更改一处 import,即可迁移到 STRIDE-ALIGN 的原生 SIMD 后端。 基准显示它在 AVX-512 和 AVX2 上胜过 Parasail;LoongArch LASX 的表现尤其突出,部分工作负载快逾 22 倍。
massive-speedup 高性能 Massive.com 平面文件解析器、数据存储和市场微观结构 模拟器。遍历平面文件比使用 Python 的 gzip 和 csv 模块快 5 倍。它采用逐 tick 向前推进的迭代设计,内置具备 延迟感知能力的市场模拟器;配合 rtta 的 tick 驱动指标, 可让回测更不容易出现传统 Pandas 和批量数据策略开发中常见的 “偷看未来”问题。
rtta 在找好用的技术分析库?厌倦了为了实时 tick 数据而重写 Pandas 模型?如果有一个从一开始就为逐 tick 向前处理而构建的技术分析库呢?
rtta 是一个低延迟增量式技术分析工具包。它包含丰富的技术分析 函数,包括传统指标、基于卡尔曼滤波器的指标,以及若干源自近期 研究的实验性指标。该库既支持批处理,也提供高效的实时 tick 接口。与 massive-speedup 配合使用时,它鼓励逐 tick 设计策略, 减少“偷看未来”,也让测试代码日后部署到实盘更加容易。
negcycle negcycle 寻找有利可图的外汇循环,并能在第 11 代 Intel i7 上于 1.8 微秒内找出利润最高的一个。
它是一款精心设计、采用 SIMD 优化的 Python 库,用于在货币市场 中寻找有利可图的执行链。内部实现了稠密 Bellman-Ford 搜索, 并针对 Intel、Arm 和 Loongson 优化 SIMD。三重嵌套 Python 循环和看着过时结果缓慢爬上屏幕的日子已经结束。把这双跑鞋接入 Massive.com WebSocket 数据流,抢先抓住新机会。
fast-kalman 一款快得离谱又易用的 C++ 与 Python 卡尔曼滤波器实现。 对典型的单价格跟踪器,它比 OpenCV 快 125 倍; 在更复杂的滤波器上最高可达 235 倍
该库支持多种卡尔曼滤波器类型、非均匀更新时间和每次更新的 自定义置信度。最酷的是:搭好滤波器却不知道如何设置调参值? 给 fast-kalman 一段数据,它会为你生成调参参数。我的 C++ 卡尔曼滤波器在所有类型上比 OpenCV 快 7 至 235 倍。 在 Python 层也快 5 倍,之所以“只有这么多”,是因为 Python 绑定本身已占了大部分开销。没错,是倍数,不是百分比。 我的 Goblin 跑得动。
DragonArray DragonArray 是我的 Loongson 优化实验室,提供可安装的 LoongArch64 wheel、源代码补丁、基准和底层工具。首个版本补齐了 启用 NumPy 256 位 LASX SIMD 路径所需的组件;在 3A6000 处理器上,相对 NumPy 2.5.0.dev0 的 LSX 目标代码,几何平均 加速达到 3.3 倍
这项工作建立在 NumPy 现有 LoongArch SIMD 基础设施之上。 我的部分包括实现 LASX 检测、接好启用 256 位路径所缺的最后 8 个 LASX 原语,并为超越函数创建向量化实现。我尤其为 float16 版 tanh 感到自豪:其 LASX 吞吐量比被替换的标量实现高 26 倍。DragonArray 现在还从公开的 loongarch-simd 源码分支发布 BLAKE3 LoongArch SIMD 移植版,下一条轨道是 TensorFlow wheel。
bsort 这个项目始于啤酒。一次下班后与朋友喝酒时,我读到 sortbenchmark.org, 心想:“我用公司的笔记本就能超过它。”最后我们没有参赛,只发布了 醉酒编程版, 并围绕它创办了一家公司。bsort 是面向大型数据文件的高速定长记录 排序库,如今既有 C++ 可执行程序,也有 Python 库。它具备良好的 引用局部性,与 LRU 内存淘汰配合良好,能排序比内存大几个数量级的 文件而不把硬盘拖入随机抖动,也是我提交 2026 年排序基准的基础。
mosh 补丁 尝试过在 Wi-Fi 或只有一格信号的手机网络上使用 SSH 的人,都知道 mosh 有多好。可 mosh 不支持现代开发者需要的许多东西,例如 ssh-agent 转发、套接字、SOCKS、X11 和 scp,直到现在。我的 mosh 补丁让你能在邮轮或山顶上工作。
这些补丁为移动 shell 补上 SSH 用户习以为常的功能:通过熟悉的 -L、-R、-D 和 -A 参数,为本地、远程、动态 SOCKS 及 agent 场景提供类似 SSH 的流转发。补丁系列包含让这些流穿过 mosh 漫游终端会话所需的协议、前端和状态同步改动。它还加入高效率、 带前向纠错的大文件复制,使 mosh 用户在糟糕链路上也能获得类似 scp 的能力;另有针对卫星电话等极受限链路的训练式压缩器模式。 计划于 2026 年 5 月下旬在 2.8 kbps 的 Iridium Go 上测试。
CPython SIMD 实验 这个 CPython 3.14 技术演示让 Python 更快。某些字符串操作实现 两位数倍的提升,依然是倍数,不是百分比。
它加入运行时 SIMD 分派层,并把它应用到日常解释器热点,而非只把 SIMD 当作狭窄的扩展模块技巧。该分支加速 base64 与 hex 编解码、 UTF-8 与 ASCII 扫描、bytes 转换与大小写折叠、JSON loads/dumps 的字符串处理、csv.reader 字段扫描、urllib 解析辅助函数,以及 新增的 html.escape C 加速器。它还包含一个采用 Swiss table 的 实验性 set 实现,用作判断 SIMD 元数据扫描能否与 CPython 现有 set 设计竞争的基准载体。实际结论是:最大的收益来自能摊薄每次调用 开销的批量文本和编解码工作;短字符串场景则主要受对象创建和调用 开销限制。代码旁附有基准和优化笔记,让结果可复现,而不是只讲一次 微基准故事。
NumPy LASX 实验 Loongson 是真正的硬件,性能级别大致可与 AMD、Intel 同场比较。 它有两种 SIMD 模式:面向嵌入式设备的 128 位 LSX,以及面向真正 计算机的 256 位 LASX。NumPy 支持 LSX 却不支持 LASX,浪费了大量 性能,就像在世界已经进入 AVX2 与 AVX-512 后还只实现 SSE4.2。 我上次在中国时买了一台 3A6000,一直在做 LASX 概念验证移植。 相比 LSX,我看到约 80% 的提升;在原本完全没有向量化的地方, 提升更大。继续关注这个项目,它会变成真正的 NumPy 补丁。
goblin-cannon 纽约到伦敦通过 EXA Express 的延迟是 29 毫秒。这只是 POP 到 POP;其宣传的往返延迟是 60 毫秒,到实际交易服务器可能更久。 沿大圆路径,光速传播只需 19 毫秒。如果拥有神奇的无线电,在从 交易所读取数据、整理竞争消息、加密、应用 CRC 和纠错编码、生成 波形、发送、解包、纠错、校验 CRC 并解密之后,还能留出时间让 交易员利用提前获得的信息,就能快 11 毫秒。
goblin-cannon 是一套端到端延迟 2.5 毫秒的软件无线电实现, 包含 AES、Viterbi 解码、CRC 帧校验、QCI 编码,以及支持 AVX2 与 AVX-512 的过采样解码。它不只是一台无线电,也支持业务层: 市场消息和自定义消息、传输时隙竞价、基于波动率的市场数据影子 出价、预算、记账和丢失消息抵扣。换句话说,除频谱许可证和真实 硬件之外,建立一家高频交易周边的跨大西洋市场数据业务所需的东西 基本齐全。跨大西洋测试预计在 2026 年秋季进行,前提是取得实验 许可证。

实用玩具

小网站,底下跑着真东西。

一些专注的 Web 工具、实验和笑话,围绕语义搜索、快速比对、 实时数据、古怪硬件,以及数量多得不讲道理的鸡。

01 / 行业分类

NAICS 代码查找器

用自然语言描述一项商业活动,即可按语义相似度获得最接近的 2022 年 NAICS 六位行业代码。它也支持批量查询,适合不那么 好玩的正式工作。

查找 NAICS 代码

02 / 采购

CPV 代码查找器

把自然语言采购需求转换成排序后的通用采购词汇匹配结果, 不必亲自钻进 2008 年分类体系里翻找,同时支持批量匹配。

查找 CPV 代码

03 / 简历科学

Sloppy Resume

给它两份 PDF 简历,它会用 Needleman-Wunsch 比对来评估两者 相似得有多可疑。数学是真的;十颗命运越来越不妙的蛋并不是招聘 系统。

打破几颗蛋

04 / LoongArch64

DragonArray

一个 Loongson 优化实验室,提供可安装的 LoongArch64 wheel、 源代码补丁、基准与底层工具。它发布 DragonArray NumPy LASX 补丁集和 BLAKE3 LoongArch SIMD 移植版,TensorFlow wheel 仍在开发中。

进入实验室

05 / 老机器

R820 实地笔记

为兼容但早于 AVX2 的 x86-64 机器提供当前 TensorFlow 构建, 并讲清如何在带或不带 F16C 的 AVX1 目标之间选择。旧服务器 仍能做新工作。

拯救一台服务器

06 / 社交遥测

Bluesky Pulse

对 Bluesky 公共信息流进行实时数学采样,展示词频、趋势预测、 语言活跃度,以及正在通过线路传输的帖子;仪表板采用 C++23 与 Wt 构建。

观察脉搏

联系

找到基准测试背后的人。

开源作品就是证明。如需系统性能咨询,请访问 Goblin Reactor

电子邮件
f"{given_name.lower()}.{family_name.lower()}@gmail.com"
电话
f'{2**8}-{2*3**2*37}-{13*101}'
GitHub
github.com/adamdeprince
下载
llms.txt / llms-full.txt

如果你说“哇,这个电话号码真酷!”,那就说明你解对了。这真的是我的号码。