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.| 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
https://hdl.handle.net/20.500.12608/111155