阿里云ODPS普惠算力再升级,Data+AI全产品降价低至59元! 了解详情
写点什么

Apple 完成了关键生态系统服务到 Swift 的迁移,性能提升了 40%

作者:Matt Foster

  • 2025-06-14
    北京
  • 本文字数:1148 字

    阅读完需:约 4 分钟

大小:574.53K时长:03:16
Apple完成了关键生态系统服务到Swift的迁移,性能提升了40%

苹果公司已将其全球密码监控服务从 Java 迁移到 Swift,实现了吞吐量增加 40%,并显著减少了内存使用量——释放了近 50%之前分配 Kubernetes 的容量。

 

最近的一篇文章中,苹果工程师详细说明了重写如何帮助服务扩展到每天数十亿次请求,同时提高了响应能力和可维护性。团队提到,较低的内存开销、更好的启动时间和简化的并发性是选择 Swift 而不是进一步优化 JVM 的关键原因。

 

Swift 使我们能够编写更小、更简洁、更具表现力的代码库(代码行数减少了近 85%),这些代码库在优先考虑安全性和效率的同时具有高度的可读性。

 

苹果的密码监控服务是更广泛的密码应用生态系统的一部分,负责安全地检查用户保存的凭据是否出现在已知的数据泄露中,而不会向苹果泄露任何私人信息。它每天处理数十亿次请求,使用隐私保护协议进行密码学比较。

 

这种工作负载需要高计算吞吐量、严格的延迟限制和跨区域的弹性伸缩。一天之内的流量波动很大,区域峰值差异高达 50%。为了适应这些波动,系统必须能够快速启动或关闭实例,同时保持低延迟响应。

 

苹果之前的 Java 实现难以满足服务不断增长的性能和可扩展性需求。垃圾收集在负载下导致不可预测的暂停时间,降低了延迟一致性。从 JVM 初始化、类加载和即时编译的启动开销,减缓了系统实时扩展的能力。此外,服务的内存占用量通常每个实例达到数十 GB,降低了基础设施效率并增加了运营成本。

 

Swift 最初是作为苹果平台的客户端语言开发的,后来扩展到服务器端用例。苹果的工程团队选择 Swift,不仅是因为它的生态系统一致性,还因为它能够在计算密集型环境中提供一致的性能。

 

这次重写还使用了Vapor(这是一个流行的 Swift Web 框架)作为基础。还实现了其他自定义包老处理椭圆曲线操作、密码学审计和特定于密码监控领域的中间件。

 

Swift 的确定性内存管理,基于引用计数而不是垃圾回收(GC),消除了由 GC 暂停引起的延迟峰值。事实证明,这种一致性对于大规模低延迟系统至关重要。在调优之后,苹果报告了亚毫秒级的 99.9 百分位延迟和内存使用量的大幅下降:Swift 实例消耗了数百 MB,而 Java 则消耗了数十 GB。

 

启动时间也得到了改善。没有 JVM 初始化开销或 JIT 预热,Swift 服务可以更快地冷启动,支持苹果的全球自动扩展需求。

 

苹果的迁移反映了一个更广泛的趋势:在极端规模的服务中使用面向性能的语言。从高性能的源代码控制解决方案到区块链的编程语言,Meta与 Rust 有着悠久的历史。Netflix引入了 Rend,这是一个用 Go 编写的高性能代理,来接管与 Memcached 交互的基于 Java 的客户端。AWS 在确定性性能和低资源使用提高基础设施效率的服务中越来越多地依赖Rust

 

虽然这并不是 Java 和类似语言衰落的迹象,但有越来越多的证据表明,在性能需求的最高端,一些人发现通用运行时不再满足其需求。

 

原文链接:

https://www.infoq.com/news/2025/06/apple-swift-migration/

2025-06-14 18:007369

评论 1 条评论

发布
用户头像
"Swift 实例消耗了数百 MB,而 Java 则消耗了数十 GB" - 这么夸张?
2025-06-15 09:40 · 北京
回复
没有更多了

制造业上了MES后,生产过程透明化,实时掌握生产动态

万界星空科技

制造业 mes 制造业工厂 生产管理MES系统

和鲸协办!2025 4C大赛大数据主题赛赛事 Q&A × 培训预告重磅来袭!

ModelWhale

大数据 数据应用 数据要素 中国大学生计算机设计大赛

和鲸协办!2025 4C大赛AI通识教育实验创新微课赛道 Q&A × 培训预告重磅来袭!

ModelWhale

千校关注!和鲸科技重磅发布人工智能通识课,助力高校一周内实现课程落地开花

ModelWhale

AI 人工智能通识课 DeepSeek 人工智能通识

托拉拽能开发软件?低代码确实能行

伤感汤姆布利柏

Dify开源平台安装指南

测吧(北京)科技有限公司

测试

DeepSeek冲击(含本地化部署实践)

京东零售技术

鸿蒙APP的测试

北京木奇移动技术有限公司

鸿蒙app 软件外包公司 APP外包公司

线上机器CPU占用高分析实践

京东零售技术

项目调度管理系统(源码+文档+部署+讲解)

深圳亥时科技

项目管理全流程平台(源码+文档+部署+讲解)

深圳亥时科技

vivo HTTPDNS 端到端体验优化实践

vivo互联网技术

网络协议 运维工程师 httpdns 移动端

京东、蚂蚁集团领衔,国内互联网大厂入局人形机器人赛道!

机器人头条

科技 蚂蚁集团 人形机器人 具身智能 京东集团

即时通讯安全篇(十五):详解硬编码密码的泄漏风险及其扫描原理和工具

JackJiang

网络编程 即时通讯 IM

Deepseek为技术降本增效注入新动力,促进繁荣发展

xuyinyin

【干货】2024年下半年最受欢迎的50篇数据库主题文章+文档

墨天轮

MySQL 数据库 oracle sql 性能优化

Golang赋能金融科技后端架构的高效与安全构建

xuyinyin

满血版数据库复制工具——NineData

NineData

解决方案 迁移 同步 数据复制 NineData

如何在 NocoBase 中实现注册用户审核

NocoBase

开源 低代码 教程 无代码 注册用户审核

Apple完成了关键生态系统服务到Swift的迁移,性能提升了40%_后端_InfoQ精选文章