17611538698
webmaster@21cto.com

服务器上也能用 Swift?案例研究它比 Python 更快更便宜

编程语言 0 77 2025-03-03 12:01:51

图片

导读:应用开发商 Cultured Code 发布最近案例研究显示,与运行 Python 2 的传统系统相比,性能提高了四倍,成本却只有三分之一。

Swift 主要用于 Apple 电脑和设备上的应用程序开发。

而且Swift语言原则上也适用于服务器端工作,但服务器端的发展势头一直较弱。IBM 是该理念的早期支持者,但于 2019 年也放弃了其 Kitura Swift 框架。

然而,在客户端和服务器上使用同一种语言的想法对于开发者来说仍很有吸引力。在 Apple 平台开发流行个人任务管理器的 Cultured Code 已经记录了在 Google App Engine 上运行的 Python 2 应用程序被在 AWS 托管的 Kubernetes 上运行的 Swift 所取代。

负责开发和运营的 Vojtěch Rylko 以及首席执行官 Werner Jainek如此介绍说,此举将跨多设备存储和同步用户数据的云应用程序的平均响应时间提高了四倍,同时还把平均计算成本降低了三倍。

对于遗留应用程序,两人指出 Python 缺乏静态类型是一个问题,这“使得每次更改都充满风险”,并表示它存在响应时间慢、内存使用率高的问题,因此完全重写是唯一可行的解决方案。

图片


新的应用程序在 AWS 上的 Kubernetes 上运行

该应用程序大约有 30,000 行代码,使用 Xcode 进行编码和调试,大约需要 10 分钟即可构建完成。数据库是 AWS Aurora MySQL,Redis 用于存储临时数据,应用程序部署到一个小型四节点 Kubernetes 集群。由于存在适合此目的的成熟库,因此 Python 仍用于部署到 AWS Lambda 的服务以处理电子邮件。


该团队鼓励其他的开发者都来关注服务器端 Swift,并指出最近在 Swift-Java 互操作性方面的工作,可能会使逐步采用变得更容易。特别有吸引力的是,以 Apple 为中心的开发,从设备到云端,使用 Swift 可以简化编程。

不过也存在一些风险,特别是 Cultured Code 提到的,也就是 Swift 的服务器支持不如其他语言那么成熟。比如,由于缺乏合适的库,团队才决定使用 Python 3 来处理电子邮件。

该团队指出,漫长的构建时间是另一个问题,这足以让测试代码更改的开发人员感到沮丧。

“这是一种编译速度很慢的语言,这是我对它的主要怨言……如果不是因为这种质量,它显然会是我最喜欢的语言,”

新语言案例研究所中的一条评论如此说道。

作者:鲁肃

相关链接:

https://github.com/apple/swift-nio

https://vapor.codes/

评论