feat: improve blake3 sequential hashing performance
This commit is contained in:
parent
8f3aaa7eb6
commit
9782992662
1 changed files with 5 additions and 7 deletions
|
@ -276,13 +276,11 @@ where
|
||||||
let digest = if Felt::IS_CANONICAL {
|
let digest = if Felt::IS_CANONICAL {
|
||||||
blake3::hash(E::elements_as_bytes(elements))
|
blake3::hash(E::elements_as_bytes(elements))
|
||||||
} else {
|
} else {
|
||||||
E::as_base_elements(elements)
|
let mut hasher = blake3::Hasher::new();
|
||||||
.iter()
|
for element in E::as_base_elements(elements) {
|
||||||
.fold(blake3::Hasher::new(), |mut hasher, felt| {
|
hasher.update(&element.as_int().to_le_bytes());
|
||||||
hasher.update(&felt.as_int().to_le_bytes());
|
}
|
||||||
hasher
|
hasher.finalize()
|
||||||
})
|
|
||||||
.finalize()
|
|
||||||
};
|
};
|
||||||
*shrink_bytes(&digest.into())
|
*shrink_bytes(&digest.into())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue