Device: Debian 11.4 laptop, Ryzen5-4500U Chrome version: 106.0.5234.0 linux-x64 from download-chromium.appspot.com @ 2022-08-11T16:56:57Z The issue: `crypto.subtle.digest` does not allow simultaneous access from multiple web-workers. If two workers each try to `digest('SHA-512')`, they will mutually block eachother from running. MRE: https://ocv.me/stuff/bugs/chrome/crypto-subtle-mt.html My real usecase is slicing a large local file into 1 MiB chunks, then getting the sha512 checksum of each chunk. Since NVMe-storage makes this CPU-bottlenecked, I launch several webworkers which receive commands to read 1 MiB from the file and then hash it. Only the file-read operation itself is synchronous across workers. * On Firefox, this parallelizes nicely, increasing the speed from 624 to 885 MiB/s. * On Chrome, the speed remains mostly unchanged, increasing only from 598 to 611 MiB/s. As a result, a fallback codepath which uses https://github.com/Daninet/hash-wasm instead of `crypto.subtle.digest` is actually faster than native sha512! The fallback was originally to get around the issue of `crypto.subtle.digest` being unavailable for non-https sites, but now it serves an additional purpose... Maybe the mutex is there to protect against some timing attack? Or, that's the only thing I could think of at least.