2026年7月29日至9月28日,Rust 编译器的性能有了显著提升:平均墙钟时间下降了4.57%,629项基准测试中有555项得到改善,部分测试的性能更是提升了两位数。 主要改进包括 rustdoc 优化、Clippy 的配置文件引导优化(PGO,速度最高提升18%),以及升级到 LLVM 23(平均耗时减少1.2%)。尽管 Nightly 新引入的 Polonius Alpha 借用检查器和 trait 求解器导致部分测试变慢,其中 `serde` 尤为明显,但后续优化已使 `serde` 的指令数减少了3%至5%,并显著改善了某些 trait 求解器表现异常的测试。 其他值得注意的性能提升还来自特化图和增量加载优化、分配次数减少,以及一种新的数据流遍历算法。该算法将一个包含18,000个基本块的函数所需的借用检查工作量削减了约94%,使检查速度提高了约30%。增大编译器栈大小以及一些细微的 AST/HIR 清理也带来了帮助。 即使是性能改进相关的 PR,其新增速度也开始超过 CI 逐个合并它们的速度,因此出现了汇总 PR。作者还宣布,接下来将负责 Rust 编译器性能优化工作。
SAT 对凸多面体碰撞检测具有稳健性,能够直接处理重叠情况,并且无需从 GJK 回退到 EPA 即可生成接触流形。不过,边对测试可能使 SAT 的计算复杂度达到 \(O(N^3)\)。
Box3D 利用内接球加速 SAT。对于每个面法线 \(n\),投影分离量的上界为 \(n \cdot d-r\),其中 \(d\) 是两中心之间的向量,\(r\) 是两个内接球半径之和。如果某个面的上界无法优于当前最佳结果,就跳过该面。
类似的边界计算可以在进行开销较大的边对测试之前,剔除整条边。每条边对应高斯映射上两个相邻面法线之间的一段圆弧。利用投影后的中心向量,可以计算该圆弧上的最大可能分离量;如果该值无法超过当前最佳面分离量,就丢弃这条边。
这种剔除方式是精确的,能够全局搜索 SAT 轴,并且不需要计算逃逸距离。在具有 32 个顶点的凸包上,它剔除了 86% 的面测试和 98% 的边对测试,使 Convex Pile 的性能大约提升一倍。细长形状的收益较小,因为其内接球较小;深度重叠的形状则难以得到有效剔除。总体而言,优化后的 SAT 在复杂凸包上已能够与 GJK 竞争,但细长形状仍然具有挑战性。
OpenAI 与 Synopsys 宣布建立多年战略合作伙伴关系,共同开发 GPT-Synopsys。这是一款专用 AI 模型,旨在操作 Synopsys 的电子设计自动化(EDA)工具,并自动执行复杂的半导体设计与验证流程。
该模型将结合 OpenAI 的前沿模型与 Synopsys 的 EDA 技术及工程专业能力。工程师可以将功耗、性能和面积优化、时序分析以及验证收敛等任务委托给 AI 智能体。这些智能体能够运行工具、解读结果、实施修改并持续迭代,直至达到可供专家审查的目标状态。
GPT-Synopsys 将运行在 OpenAI 托管的基础设施上,与 Synopsys.ai 和 Synopsys Autopilot 平台集成,并能够与客户的智能体系统互操作。该联合方案将整合计算资源、模型访问权限和软件许可,同时提供企业级安全、治理、加密以及可配置的数据控制能力。客户数据不会被用于模型训练。
该协议包括联合研究、联合市场推广合作以及收入分成。目前,该项技术正与领先的半导体客户开展初步合作,并计划面向全球提供服务。
该主工单用于协调 StreetComplete 的 iOS 移植,并取代此前的研究与讨论。目标是通过 Kotlin Multiplatform 和 Compose Multiplatform 尽可能复用现有代码,避免使用 Swift 或 Dart 进行完全重写。
迁移采用渐进式策略:
- 将平台特定代码与应用逻辑分离。
- 使用 Kotlin Multiplatform 库替换核心逻辑中对 Android/Java 依赖项的使用。
- 使用 ViewModel 重构数据访问和 UI 状态管理。
- 从底层开始,将 Android XML 界面迁移到 Jetpack Compose。
- 将 Jetpack Compose 界面迁移到适用于 iOS 的 Compose Multiplatform。
相关工作会在项目看板上跟踪,任务通常对社区贡献者开放;贡献者可以在评论区认领任务。大家也可以参与剩余任务、学习 Jetpack Compose 和 Compose Multiplatform、资助开发,或协助维护项目和分类处理问题。
完整移植最初预计需要约一年的工作量。在 2024 年初投入大量全职开发后,目前迁移进度约为 50%。
State of the Map Europe 2024 的相关演示幻灯片中附有演讲者备注,对这一方法作了说明。