hash: add an algo member to struct object_id
Now that we're working with multiple hash algorithms in the same repo, it's best if we label each object ID with its algorithm so we can determine how to format a given object ID. Add a member called algo to struct object_id. Performance testing on object ID-heavy workloads doesn't reveal a clear change in performance. Out of performance tests t0001 and t1450, there are slight variations in performance both up and down, but all measurements are within the margin of error. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
brian m. carlson committed
Apr 26, 2021 at 01:02 UTC
cf0983213c72727c4c7dea51ed9b3b38a2968fbe
1 file changed
+1
hash.h
+1
@@ -181,6 +181,7 @@ static inline int hash_algo_by_ptr(const struct git_hash_algo *p)
181
182
struct object_id {
183
unsigned char hash[GIT_MAX_RAWSZ];
184
+ int algo;
185
};
186
187
#define the_hash_algo the_repository->hash_algo