为了延长其寿命,美国国家航空航天局(NASA)的工程师关闭了旅行者1号探测器上的低能带电粒子(LECP)实验。旅行者1号是距离地球最远的人造物体。这台49岁的仪器测量星际空间中的粒子,提供关于太阳影响范围之外区域的独特数据。
旅行者1号,和它的双胞胎旅行者2号一样,由一个日益减少的放射性同位素热电机供电,每年损失约4瓦电力。最近一次意外的电力下降促使团队主动节约能源,按照预先确定的计划关闭仪器。虽然LECP现在已关闭,但旅行者1号仍然有两个正常运行的科学仪器,用于测量等离子波和磁场。
预计此次关闭将为旅行者1号争取大约一年的运行时间。工程师们正在准备一次更大的节能改造,被称为“大爆炸”,以进一步延长任务期限。这包括用低功耗替代品更换组件,最初将在2026年5/6月在旅行者2号上测试,并可能在7月在旅行者1号上实施。如果电力水平改善,LECP甚至有可能重新激活。
## 优化 Intercom 的 CI:Ruby 性能调整
加入 Intercom 后,一个关键项目是提高其大型 Ruby 单体应用的 CI 管道速度。作者发现,减少 worker 启动时间——获取代码、启动应用程序——对整体构建时间有不成比例的影响,尤其是在 1350 个并行 worker 的情况下。虽然优化单个测试很有价值,但即使减少一秒钟的启动时间也能节省大量的计算资源。
重点转向应用程序启动时间,从而深入研究 **Bootsnap**,一个用于缓存文件加载路径的 Ruby gem。Ruby 的默认文件加载效率低下,无法很好地扩展到大量 gem。Bootsnap 缓存文件位置以便快速查找,但 CI 系统上的缓存失效(由于 git checkout 不保留文件修改时间)仍然是一个挑战。
优化集中在 Bootsnap 的扫描过程上。一项关键改进是利用目录条目类型(在某些系统上可用)来避免代价高昂的文件系统调用。进一步的收益来自于优化 `File.join`,包括简化多字节编码处理以及反转尾随分隔符的搜索。这些看似微小的改变为 `File.join` 带来了 **7 倍的速度提升**,并改善了整体 CI 性能。
作者强调,找到一个优化往往会发现其他的优化,并继续将类似的改进应用于其他路径处理方法,从而证明了细致的性能分析的价值。