Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 22 May 2023 10:20:24 +0100] rev 50545
cli: add a test of `hg debugnodemap --manifest`
this is a new option that's not tested yet
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 19:37:12 +0100] rev 50544
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 18:45:54 +0100] rev 50543
cli: make debugnodemap capable of inspecting an arbitrary nodemap
This lets us inspect the manifest nodemap and individual directory
nodemaps when treemanifest is used.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 17:53:17 +0100] rev 50542
rust: mostly avoid streaming zstd decompression
Streaming ZStd decompression seems slightly slower, and
the API we use makes it very inconvenient to re-use the
decompression context.
Instead of using that, use the buffer-backed version,
because we can give a reasonable-ish size estimate.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 17:25:18 +0100] rev 50541
rust: in zstd decompression, avoid a useless vec initialization
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 17:18:54 +0100] rev 50540
rust: speed up zstd decompression by re-using the decompression context
Admittedly, zstd is already pretty fast, but this change makes it
a bit faster yet: it saves ~5% of time it takes to read our large repo.
The actual motivating use case is treemanifest: in treemanifest
we end up reading *lots* of small directories, and many of them
need decompression, and there the saving for [rhg files] is >10%.
(which also seems unreasonable, we should probably keep things uncompressed more)