feat: improve blake3 sequential hashing performance

This commit is contained in:
Bobbin Threadbare 2022-12-09 13:51:16 -08:00
parent 8f3aaa7eb6
commit 9782992662

View file

@ -276,13 +276,11 @@ where
let digest = if Felt::IS_CANONICAL {
blake3::hash(E::elements_as_bytes(elements))
} else {
E::as_base_elements(elements)
.iter()
.fold(blake3::Hasher::new(), |mut hasher, felt| {
hasher.update(&felt.as_int().to_le_bytes());
hasher
})
.finalize()
let mut hasher = blake3::Hasher::new();
for element in E::as_base_elements(elements) {
hasher.update(&element.as_int().to_le_bytes());
}
hasher.finalize()
};
*shrink_bytes(&digest.into())
}