My guts_api branch has been around for a while, and it's time that I start figuring out how to land it. The first step will be to land the portable implementation by itself, without anything depending on it. This will get a lot of APIs in place, so that other work can happen in parallel:
open a branch integrating the main blake3 crate with blake3_guts (this might not land for a while)
add RISCV support to guts
add AVX-512 support to guts
The longer run questions will be things like "do we want to generate the different flavors of assembly from scripts?" and "how should we support Bao, Bessie, and BLAKE3-AEAD?" This PR is about making step-by-step progress instead of trying to answer all these questions as once.
My
guts_api
branch has been around for a while, and it's time that I start figuring out how to land it. The first step will be to land the portable implementation by itself, without anything depending on it. This will get a lot of APIs in place, so that other work can happen in parallel:blake3
crate withblake3_guts
(this might not land for a while)The longer run questions will be things like "do we want to generate the different flavors of assembly from scripts?" and "how should we support Bao, Bessie, and BLAKE3-AEAD?" This PR is about making step-by-step progress instead of trying to answer all these questions as once.