Closed haberdashPI closed 1 year ago
Merging #30 (40e2b80) into main (fbc0c1a) will increase coverage by
0.23%
. The diff coverage is98.13%
.
@@ Coverage Diff @@
## main #30 +/- ##
==========================================
+ Coverage 95.75% 95.98% +0.23%
==========================================
Files 1 1
Lines 212 274 +62
==========================================
+ Hits 203 263 +60
- Misses 9 11 +2
Files | Coverage Δ | |
---|---|---|
src/StableHashTraits.jl | 95.98% <98.13%> (+0.23%) |
:arrow_up: |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
One other question I have is why the reference test files needed to change if the default HashVersion{1} is still being used and these changes are non-breaking?
Just to address this before I take a look through your other comments.
I have reference tests for each HashVersion: I want to test that given a particular hash version the hash value does not change for a given object. The function test_hash
is defined on lines 31-32 of runtests.jl
such that it will use the context set in the for loop.
The reference tests for HashVersion{1}
should not change, since those exist in the released version of StableHashTraits. HashVersion{2}
was introduced in #29, and has not been included in a release, so it is safe to change the references tests there.
To elaborate on my comment above: in the reference tests, ref01_2_crc
is reference test 1, using HashVersion{2}
with a crc32c
hash function. You will find that none of the reference tests matching ref[nun]_1_[hash]
have changed, confirming that no HashVersion{1}
return values have changed in the tests.
A final set of optimizations (before releasing 1.1) that moves a number of computations to compile time. In particular a number of hashed values are a function of the type of an object, and have been moved to
@generated
functions.This brings most performance within spitting distance of the "raw" hash computations.
This changes the hash values for
HashVersion{2}
, but these have yet to be included in a release.Before
After