In the field of big data processing, universal and strongly universal hash functions are essential for handling large amounts of data. This thesis focuses on implementing a set of hash functions as efficiently as possible. After implementing each function in Rust, a modern high-level language, an inline AArch64 assembly implementation is developed. The results show that, even compared with modern compilers, hand-written assembly can still outperform compiler-generated code. Through benchmarks, this thesis also analyzes how specific design choices affect the functions' performance. Finally, it determines whether the complexity of writing AArch64 assembly is worth the resulting performance gain.

Efficient Implementations of Hash Functions in AArch64 Assembly

GASPAROTTO, MATTIA
2025/2026

Abstract

In the field of big data processing, universal and strongly universal hash functions are essential for handling large amounts of data. This thesis focuses on implementing a set of hash functions as efficiently as possible. After implementing each function in Rust, a modern high-level language, an inline AArch64 assembly implementation is developed. The results show that, even compared with modern compilers, hand-written assembly can still outperform compiler-generated code. Through benchmarks, this thesis also analyzes how specific design choices affect the functions' performance. Finally, it determines whether the complexity of writing AArch64 assembly is worth the resulting performance gain.
2025
Efficient Implementations of Hash Functions in AArch64 Assembly
Hash Functions
AArch64 Assembly
Rust
Optimization
Benchmarking
File in questo prodotto:
File Dimensione Formato  
Gasparotto_Mattia.pdf

accesso aperto

Dimensione 2.58 MB
Formato Adobe PDF
2.58 MB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/111155