##// END OF EJS Templates
rust-node: handling binary Node prefix...
rust-node: handling binary Node prefix Parallel to the inner signatures of the nodetree functions in revlog.c, we'll have to handle prefixes of `Node` in binary form. Another motivation is that it allows to convert from full Node references to `NodePrefixRef` without copy. This is expected to be by far the most common case in practice. There's a slight complication due to the fact that we'll be sometimes interested in prefixes with an odd number of hexadecimal digits, which translates in binary form by a last byte in which only the highest weight 4 bits are considered. This is totally transparent for callers and could be revised once we have proper means to measure performance. The C implementation does the same, passing the length in nybbles as function arguments. Because Rust byte slices already have a length, we carry the even/odd informaton as a boolean, to avoid introducing logical redundancies and the related potential inconsistency bugs. There are a few candidates for inlining here, but we refrain from such premature optimizations, letting the compiler decide. Differential Revision: https://phab.mercurial-scm.org/D7790
Georges Racinet -
r44643:9896a8d0 default
Show More
Name Size Modified Last Commit Author
/ rust / hg-core / src
dirstate
revlog
utils
ancestors.rs Loading ...
dagops.rs Loading ...
dirstate.rs Loading ...
discovery.rs Loading ...
filepatterns.rs Loading ...
lib.rs Loading ...
matchers.rs Loading ...
revlog.rs Loading ...
testing.rs Loading ...
utils.rs Loading ...