首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序码托管服务Bitbucket为何选择使用Rust开发项目

程序码托管服务Bitbucket正在开发可处理来自各种感测器资料的装置,并透过网页以及行动应用程序,提供即时分析与智慧功能,而由Mozilla开发的开源系统程序语言Rust,成了Bitbucket的选择,虽然Rust的学习曲线不低,但是其记忆体安全的特性,以及不输C++的效能,因此成为了Bitbucket的选择。

Bitbucket从效能、并行运算以及记忆体安全三方面来评估采用的程序语言。Bitbucket提到,要跨程序语言比较执行效能,通常是一件困难的工作,因为程序的效能跟开发人员选择的演算法以及资料结构有很大的关系,因此通常很难比较,Bitbucket引用各语言比较基準(下图),这跟普遍开发者的认知相符,Rust的效能表现与C++非常接近,并且比其他像是Lua或Python使用直译器或是基于JIT的语言,执行效能好上许多。

由于Bitbucket的装置需要即时处理来自多个感测器的资料,因此程序的并行处理能力非常重要。Bitbucket使用的硬体装置有4个核心,因此为了要充分使用CPU核心,程序语言本身必须支援多执行绪,而Rust内建对多执行绪的支援,其变数的所有权(Ownership)以及借出(Borrowing)规则,可以帮助开发者撰写安全的并行运算程序码。

Bitbucket也强调了Rust的记忆体安全的重要性。虽然动态类型语言,提供开发者很大的灵活性,但是代价就是存在许多潜在错误,同时也牺牲了效能,静态类型语言则比动态类型语更安全,在开发阶段,开发者就能发现大部分的错误,编译过的程序码执行起来也会快上许多,而Rust的安全性更是超越其他静态语言,Rust编译器会严格检查每个变数以及参照的记忆体位置,避免资料竞争以及未定义的行为。Bitbucket提到,Rust能够避免所有并行以及记忆体安全的漏洞,记忆体安全是Rust的一大卖点。

虽然Rust安全,但是其所有权以及借出的概念,也让Rust比起Lua或Python更难以学习,但比起C++需要手动管理记忆体,Rust又提供了更多的功能以及抽象记忆体管理,让Rust更像是高级的程序语言,Bitbucket因此认为,要开发低占用系统资源的高效能系统,比起C/C++,Rust是相对容易使用,而且没有数十年技术债的最佳选择。

—完—

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190624A0R82B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券