Skip to content
  • Joey Hess's avatar
    convert Key to ShortByteString · 19e78816
    Joey Hess authored
    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
    19e78816