DEEP SIGNAL / SOURCE / PROOF
深潜雷达
每日筛选有实测、源码、原理与工程价值的 JVM、Kotlin、Rust、Zig 和 Linux 深度技术文章。DAILY BRIEFINGS
每日精选
RISC-V CRC32 折叠与 Shenandoah 直方图压缩
OpenJDK 为无 RVV 的 RISC-V Zbc 处理器加入标量 CRC32 折叠,大块吞吐稳定在约 6.2GB/s;Shenandoah 将 HdrSeq 从十进制大直方图改为二进制窄桶,样本内存下降 59.7%。
Exchanger 自旋修复与 Tokio 分片注入队列
OpenJDK 以 24576 次有限自旋修复 macOS 上 Exchanger 约 27 倍回退;Tokio 将外部任务注入队列分片,在 64 核并发提交下最高提速 5.71 倍。
HotSpot 堆转储瘦身与 Kotlin 增量快照加速
HotSpot 在 live heap dump 中跳过不可达填充对象,将样本转储从 2.6GB 降至 1.5GB;Kotlin 增量编译复用解析结果并改用 FarmHash,classpath snapshot 最多提速 41%。
Kotlin Native 静态链接与 rustc 宏卫生热路径
Kotlin/Native 因错误保留 PT_INTERP 让静态产物启动即崩溃;rustc 则把宏展开中最常见的单一 SyntaxContext 映射内联,减少哈希表热路径成本。
Rust CGU 分片陷阱与 Tokio 协作预算
rustc 的泛型 CGU 分片在单一 Polars 样本上改善增量构建,却在官方全套 perf 中触发大面积回退;Tokio 则用协作预算修复始终就绪的 copy_buf 永不让出执行权。
Tokio I/O 分片与 Linux 构建关键路径
Tokio 用多 epoll 分片拆散 fdinfo、注册与就绪队列争用;Linux kbuild 的 23 个补丁则并行化 modpost、objtool 与 Rust 前端,把 allmodconfig 增量构建最多缩短 70%。
Tokio 就绪态捷径与 HotSpot BSD 移植边界
Tokio 通过预置 accepted socket 的就绪位消除一次 driver turn,在过载场景显著压低新连接尾延迟;OpenJDK 用 22 个提交勾勒四种 BSD 的 HotSpot、原生库与 SA 适配边界,rustc 则把 SyntaxContext 稳定哈希中的两次 hygiene 访问合并为一次。
RVV 无符号归约与 Rustc 热路径缓存
RISC-V C2 用 vredminu/vredmaxu 取代 Vector API 的 Java fallback,吞吐提升 33–44 倍;rustc 则缓存 borrowck 数据流 seek 结果,并修掉空约束构造中的隐性 IndexSet 分配。
Confined Arena 定槽回收与 Borrowck 稠密位集
OpenJDK 让 confined arena 记住池槽,将平台线程分配降至 0.817 ns/op;rustc 则依据“只插点、不插区间”的真实操作,把 liveness 追踪改为 DenseBitSet,主样本指令数平均改善 1.4%。
Polonius 稠密索引与跨架构向量 intrinsic 的性能边界
Rust Polonius 用 IndexVec 消除树查找,平均减少 0.9% 编译指令;HotSpot 分别以 AVX2 与 RVV 补齐字符串压缩和位压缩向量路径,并完整暴露短输入回退与后端实现成本。
rustc 热路径缓存与闭包别名语义的性能边界
两组 rustc 实验:缓存 Session 的 sanitizer 集合,逆转一次平均 1.3% 的指令回归;再用消融实验定位闭包 MaybeDangling 语义取消 LLVM noalias 后的真实成本。
Tokio 单态化爆炸与 I/O 过载的双重治理
两项 Tokio 运行时实验:把自动装箱决策前移到单态化阶段,使任务 harness 实例数下降 74.2%;再把忙碌轮询与阻塞 park 的 I/O 批量拆开,消除生产 HTTP/2 服务的本地队列洪峰。
SVE 反向移位与 rustc 查询 Arena 的真实代价
两篇一手性能材料:C2 如何用 AArch64 SVE 反向移位消除向量旋转中的寄存器复制,以及 rustc 把查询结果迁入统一 arena 后为何同时出现 RSS 改善、指令回退与测量噪声。
增量缓存回收与 VerifyOops 重定位去膨胀
两篇一手性能材料:rustc 如何只保留最新增量编译会话并让 Ruff/uv 缓存显著缩小,以及 HotSpot 在 AArch64、RISC-V 上避免 VerifyOops 调试字符串污染全局外部地址表。
Arc 冷路径外提与 next-solver 自失效消除
两篇 Rust 一手性能材料:缩短 Arc::drop 热路径并保留 RISC-V 汇编证据,以及 next-solver 如何避免 opaque goal 被自身写入反复唤醒;硬件部分改为可累计的中国大陆真实报价数据。
Shenandoah 巨型对象退化回收与 AVX-512 掩码合并
两篇来自 OpenJDK 的一手性能提案:Generational Shenandoah 如何避免巨型对象分配失败后立即 Full GC,以及 C2 如何把 AVX-512 掩码相等比较压缩为一条 KXNOR;附中国大陆六类 PC 硬件价格观察。
DropGuard 内联代价与 Rust 构建机性价比
两篇来自 Rust 项目的一手性能资料:一个通用 DropGuard 如何因丢失调用点内联提示引发编译回归,以及 Rust CI 如何用真实构建时间与按次成本在 Graviton、Zen 5 实例间选择;附中国大陆六类 PC 硬件价格观察。
Trait Solver 查询驻留与 OpenJDK 增量构建失效
两篇来自 Rust 编译器与 OpenJDK 构建系统的一手性能资料:CanonicalQueryInput 驻留如何把 Bevy 编译峰值内存约从 15 GiB 降至 4 GiB,以及交叉编译状态串扰为何会让零改动增量构建重编 3,396 个文件;附中国大陆六类 PC 硬件价格观察。
Steal Governor 动态 vCPU 收缩与 Rust 位集布局
两篇跨 Linux 调度器与 Rust 编译器的数据驱动资料:steal governor 如何让过量配置的虚拟机主动收缩 vCPU 足迹,以及固定长度 DenseBitSet 为什么应从 Vec 改用 Box slice;附中国大陆六类 PC 硬件价格观察。
KIO 零拷贝传输与 Rust 块设备安全抽象
两篇 Linux I/O 深度资料:KIO 如何用同机交错基准、cycles profile 与 heaptrack 找到批量扩容和跨进程传输成本,以及 rnull 如何用安全 Rust 覆盖 Linux 块层功能并量化 C/Rust 性能差异;附中国大陆六类 PC 硬件价格观察。
Polonius 活跃借用布局与 Shenandoah 队列预平衡
三篇近一天一手深度资料:Polonius 活跃借用矩阵的扁平化、Miri 精确测试从全量克隆转向对数查找,以及 Generational Shenandoah 如何用毫秒级预平衡换回百毫秒并发标记时间;附中国大陆六类 PC 硬件价格观察。
C2 循环携带变量与 Generational Shenandoah 标记热路径
两篇近七日 OpenJDK 一手深度资料:C2 消除循环中滞后一拍的冗余寄存器值,以及 Generational Shenandoah 如何把对象标记热路径缩短 10%–12%;附中国大陆六类 PC 硬件价格观察。
C2 宏展开内存与 RISC-V 向量掩码指令选择
两篇近七日一手 OpenJDK 深度资料:C2 宏节点展开如何制造百万级临时节点,以及 RISC-V VectorMask 如何从多指令序列收敛为单条 RVV 指令;附中国大陆六类 PC 硬件价格观察。
G1 卡表、Zen spill 与 Rust trait solver
三篇近七日一手技术资料:G1 remembered set 缓存重构、Zen3+ 的 C2 溢出策略实测,以及 Rust 新一代 trait solver 的生态级性能收敛;附中国大陆六类 PC 硬件价格观察。