Hashing: change the representation of Hash to ShortByteString
Change AbstractHash from being a newtype over Digest to a newtype over ShortByteString and adjust the conversion functions.
The ShortByteString type has efficient Eq & Ord instances whereas the Digest type has very inefficient ones.
Previously the Digest comparison loop was near the top of the profile while doing a bulk sync. This representation change is an improvement of ~7% in the time to validate the whole chain.
Hashing: remove ByteArrayAccess instance
It exposes too much and constraints the choice of representation.
It was only used by the ByteArrayAccess instance for MerkleRoot which itself was unused after the recent changes to use hash conversion utility functions.
Hashing: move functions around and improve haddock docs
We’re going to make AbstractHash a proper ADT and stop exporting the constructor, so we will need to add a few more converison functions.
We start simply by rearranging and clarifying some things.
1524: nix: Update test-suite name to jormungandr-integration r=rvl a=rvl
Relates to #1508
- Update the jormungandr integration test-suite name in the nix config. This fixes the failing windows test bundle build.
- Stop running jormungandr integration tests on hydra.
- Temporarily disable cardano-node integration tests on hydra until the timeout problem can be debugged. This means we are no longer wasting build slots on hydra. :-)
Co-authored-by: Rodney Lorrimar [email protected]