Ok with empty messages I get:
Signing: SHA-512=13.5us BLAKE3=13.5us (no difference, message was empty, this makes sense)
Verificatin: SHA-512=30.1us BLAKE3=30.4us (within margin of error)
Strict Verif: SHA-512=31.6us BLAKE3=30.9us (within margin of error)
with 4416 bytes of data I instead get:
Signing: SHA-512=25.5us BLAKE3=19.0us (25% faster)
Verif: SHA-512=30.0us BLAKE3=26.5us (11.6% faster)
S. Verif: SHA-512=38.3 BLAKE3=31.9us (16.7% faster)
So I was wrong. Obviously with no data you aren't going to see a difference.
I'm not sure EdDSA with BLAKE3 has any solid implementations out there though, and the standard specifies only SHA-512 so I would be non-compliant.
Lemme think..... non-compliant..... how does that sound.... Hmmmmm.
Yes, sounds great.
Login to reply
Replies (3)
For small payloads blake2 is faster than blake3, fyi. Blake3 is fastest for large payloads.
Thanks for doing that. I've wanted to try for awhile. I also don't care super much about compliance. If you are building something new and distributed that you want to compete with centralized services you have to do the optimal thing. There is a lot of headroom available to do more on smaller devices by being clever. Use a compressed byte format instead of json for instance. Prepackage all your data in packet sized chunks so you can route it instantly without processing etc.
Does your BLAKE3 version of Dalek exist anywhere that I can steal it?