19e78816f0
This adds the overhead of a copy when serializing and deserializing keys. I have not benchmarked much, but runtimes seem barely changed at all by that. When a lot of keys are in memory, it improves memory use. And, it prevents keys sometimes getting PINNED in memory and failing to GC, which is a problem ByteString has sometimes. In particular, git-annex sync from a borg special remote had that problem and this improved its memory use by a large amount. Sponsored-by: Shae Erisson on Patreon |
||
---|---|---|
.. | ||
Keys | ||
Benchmark.hs | ||
ContentIdentifier.hs | ||
Export.hs | ||
Fsck.hs | ||
Handle.hs | ||
Init.hs | ||
Keys.hs | ||
Queue.hs | ||
Types.hs |