Rust is a multi-paradigm, general-purpose programming language that prioritizes performance, type safety, and fearless concurrency. At compile time, Rust is able to ensure memory and thread safety without relying on automated memory management techniques such as garbage collection. As a result, Rust is gaining significant popularity as a replacement for C/C++ in various domains where performance and reliability are paramount, such as systems programming, embedded devices, and networking.This paper attempts to critically evaluate the claims of high performance and memory safety associated with Rust, particularly in the context of low-level network programming. The approach involves rewriting Nethuns, a fast C-based network I/O library, using Rust. The Rust-based implementation of Nethuns is described in detail in this work, with a particular emphasis on explaining the design choices, highlighting the primary benefits gained in terms of safety and security, and addressing the challenges encountered throughout the process. The paper concludes with a performance evaluation of the library.The obtained results are promising: the Rust-based library ensures a significantly higher level of safety at compile time, with a modest performance trade-off.

On the Impact of Memory Safety on Fast Network I/O

Lettieri G.
Secondo
;
Procissi G.
Ultimo
2024-01-01

Abstract

Rust is a multi-paradigm, general-purpose programming language that prioritizes performance, type safety, and fearless concurrency. At compile time, Rust is able to ensure memory and thread safety without relying on automated memory management techniques such as garbage collection. As a result, Rust is gaining significant popularity as a replacement for C/C++ in various domains where performance and reliability are paramount, such as systems programming, embedded devices, and networking.This paper attempts to critically evaluate the claims of high performance and memory safety associated with Rust, particularly in the context of low-level network programming. The approach involves rewriting Nethuns, a fast C-based network I/O library, using Rust. The Rust-based implementation of Nethuns is described in detail in this work, with a particular emphasis on explaining the design choices, highlighting the primary benefits gained in terms of safety and security, and addressing the challenges encountered throughout the process. The paper concludes with a performance evaluation of the library.The obtained results are promising: the Rust-based library ensures a significantly higher level of safety at compile time, with a modest performance trade-off.
2024
9798350363852
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11568/1273073
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
social impact