For SHA3, if I were to hash large files (> 1GB), would that operation be CPU or I/O bound?
Suppose I were to exploit parallelism and either use multicore/SIMD execution or generate a hash tree, would that also be constrained by the same resource?
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It only takes a minute to sign up.Sign up to join this community
Clearly this depends a lot on your setup.
Looking at some numbers:
According to Wikipedia SHA-3 requires 12.5 cbp (cycles per byte) on a Core 2. Let's also assume this Core 2 has 2.4 GHz. So we get 2.4 GHz / 12.5 cbp = 192 MB/s for the hash calculation.
That means the SSD is faster and hashing is CPU constrained.
Additionally, there are faster SSDs and benchmarks usually don't consider only consecutive reads so that could widen the gap.