git-annex/Remote/External
Joey Hess 19e78816f0
convert Key to ShortByteString
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
2021-10-05 20:20:08 -04:00
..
AsyncExtension.hs remove uses of warningIO 2020-12-02 14:57:43 -04:00
Types.hs convert Key to ShortByteString 2021-10-05 20:20:08 -04:00