Mercurial > public > mercurial-scm > hg
diff rust/hg-cpython/src/revlog.rs @ 46431:645ee7225fab
rust: Make NodePrefix allocation-free and Copy, remove NodePrefixRef
The `*Ref` struct only existed to avoid allocating `Vec`s
when cloning `NodePrefix`, but we can avoid having `Vec`
in the first place by using an inline array instead.
This makes `NodePrefix` 21 bytes (with 1?for the length)
which is smaller than before as `Vec` alone is 24 bytes.
Differential Revision: https://phab.mercurial-scm.org/D9863
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 25 Jan 2021 11:48:47 +0100 |
parents | 5893706af3de |
children | 18a261b11b20 |
line wrap: on
line diff
--- a/rust/hg-cpython/src/revlog.rs Sat Jan 30 18:30:11 2021 +0800 +++ b/rust/hg-cpython/src/revlog.rs Mon Jan 25 11:48:47 2021 +0100 @@ -64,7 +64,7 @@ let nt = opt.as_ref().unwrap(); let idx = &*self.cindex(py).borrow(); let node = node_from_py_bytes(py, &node)?; - nt.find_bin(idx, (&node).into()).map_err(|e| nodemap_error(py, e)) + nt.find_bin(idx, node.into()).map_err(|e| nodemap_error(py, e)) } /// same as `get_rev()` but raises a bare `error.RevlogError` if node