forked from mirrors/jj
ca6b9828d1
This eliminates indirect access through Vec<u8> and improves cache locality while sorting the index entries. We can achieve a similar result by using SmallVec<[u8; 24]> in place of Commit/ChangeId(Vec<u8>), but we would have to determine a reasonable id length across backends. Indexing [u8; 4] performs better, at the cost of the API and implementation complexity. For temporary Commit/ChangeId allocation in general, I think a borrowed type like Path/PathBuf will help. Testing with my "linux" repo, this saves ~670ms needed to initialize both change id index and disambiguation indexes. |
||
---|---|---|
.. | ||
benches | ||
gen-protos | ||
src | ||
tests | ||
testutils | ||
build.rs | ||
Cargo.toml |