APP下载

研究人员以多个高阶语言实作使用者空间网络驱动程式ixy,发现Rust效能好又安全

消息来源:baojiabao.com 作者: 发布时间:2024-04-26

报价宝综合消息研究人员以多个高阶语言实作使用者空间网络驱动程式ixy,发现Rust效能好又安全

研究人员以各种高阶开发语言,包括Rust、Go、Java以及C#,为英特尔ixgbe的10 Gbit/s网络界面控制器(NIC)系列,开发了用户空间网络驱动程式ixy,ixy没有相依性且执行速度快,能让开发者快速地用来建构应用程序。而不同语言实作ixy,则可以被用来比较每种语言的效能。

研究人员在论文中比较3.3 GHz双向转发效能(下图),发现Rust实作虽然处理每个资料封包,比C实作执行还要多63%的指令,但是速度只慢了4%,C的效能表现仍是所有语言之冠,但研究人员提到,背后的原因是Rust应用了边界检查(Bounds Checking),但是C语言没有,另一个原因则是,C在DMA缓冲区不需要包装器物件。

而除了Rust以及C,Go语言也表现良好,特别是垃圾回收器在极重的工作负载下,依然能以低于100微秒的延迟执行(下图)。研究人员也提到,Rust能够用来开发安全的驱动程式,因为Rust使用基于所有权的内存管理,比起使用基于垃圾回收的语言,能够在不影响延迟的情况下,提供更多安全的功能,但是如果应用程序可以忍受因垃圾回收所造成亚毫秒级的延迟,那Go和C#也是用来开发驱动程式的好语言。

2019-09-17 00:48:00

相关文章