Skip to content
  • Joey Hess's avatar
    cache one more log file for metadata · 9483b104
    Joey Hess authored
    My worry was that a preferred content expression that matches on metadata
    would have removed the location log from cache, causing an expensive
    re-read when a Seek action later checked the location log.
    
    Especially when the --all optimisation in the previous commit
    pre-cached the location log.
    
    This also means that the --all optimisation could cache the metadata log
    too, if it wanted too, but not currently done.
    
    The cache is a list, with the most recently accessed file first. That
    optimises it for the common case of reading the same file twice, eg a
    get, examine, followed by set reads it twice. And sync --content reads the
    location log 3 times in a row commonly.
    
    But, as a list, it should not be made to be too long. I thought about
    expanding it to 5 items, but that seemed unlikely to be a win commonly
    enough to outweigh the extra time spent checking the cache.
    
    Clearly there could be some further benchmarking and tuning here.
    9483b104