kovacs-levent / Blake3-Python

This repository contains the source code for our Applied Cryptography Project Seminar class project at Eötvös Loránd University (ELTE). Our project is a native python implementation of the BLAKE3 hashing algorithm.
1 stars 2 forks source link

Parallelization investigation #12

Closed kovacs-levent closed 3 years ago

kovacs-levent commented 3 years ago

Investigate how it's possible to parallelize Python programs in general and whether we can parallelize our hash function.

This is closely tied to performance testing, if parallelization is possible then our performance will increase. Based on the literature, BLAKE3 should provide the possibility for this.

kovacs-levent commented 3 years ago

I've implemented a divide and conquer recursive approach with adding in parent-threading by hashing parent nodes on multiple threads if possible.

kovacs-levent commented 3 years ago

It's now faster than the single-threaded version, but I think we need SIMD to really be able to be efficient with the multi-threading.