Rust:一个不再有 C/C+的,实现安全实时软件的未来( 三 )
自动垃圾收集会作为 JVM 或者 Python 解释器的一部分运行,在程序运行时不断地寻找不再使用的模块,释放他们相对应的内存或者资源。但是这么做的代价很大,垃圾回收不仅速度缓慢还会占用大量内存,而你也永远不会知道下一秒你的程序会不会暂停运行来回收垃圾。
Python 和 Java 的内存安全牺牲了运行速度。C/C++ 的运行速度则是牺牲了内存的安全性。
这种让人无法掌控的垃圾回收让 Python 与 Java 无法应用在实时软件中,因为你必须要保证你的程序可以在一定时间内完成运行。这并不是比拼运行速度,而是保障你的软件在每次运行的时候都可以足够迅速。
当然,C/C++ 如此受欢迎还有其他方面的因素:他们已经存在了足够长的时间来让人们习惯他们了。但是他们同样因为运行速度与运行结果的保障而受到追捧。然而不幸的是,这样的速度是在牺牲内存安全的前提下。更糟糕的是,许多实时软件在保障速度的基础上同样需要注重安全性,例如车辆或者医用机器人中的控制软件。而这些软件用的仍然是这些并不安全的语言。
在很长的一段时间里,二者处于鱼与熊掌不可兼得的状态,要么选择运行速度和不可预知性,要么选择内存安全和可预知性。Rust 则完全颠覆了这一点,这也是它为什么令人激动的原因。
推荐阅读
- 雷神|原神:曾经有一个强力五星角色,却因各种“流言蜚语”,擦肩而过
- 次世代|韩国战队全军覆没,斗鱼选手实力强大,一人击溃一个队
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- xyg|月光败给XYG不敢去采访,怕主持人问他一个问题!根本没办法解释
- 卡牌|王者峡谷最难抓的五个英雄,暗信算一个,榜首玩起来非常快乐
- 传奇世界|传奇世界:盘点当年出现过哪些漏洞,有一个至今都存在?
- 扁鹊|裴擒虎虎年限定有变,嫦娥拒霜思配音引热议,扁鹊有一个好消息
- 绝地求生|不播绝地求生,跑去玩双马尾少女?PDD后又一个主播“沉迷”幻塔
- 光·遇|光遇:追光季复刻盘点,下一个返场先祖,可能是笛子或者灯泡斗篷
- 地下城与勇士|DNF:“全民云上”时代到来,一个过气小副本,究竟有何魅力?