git-annex/doc/devblog/day_613__end-to-end_ByteString_milestone.mdwn
2019-12-11 15:27:38 -04:00

17 lines
819 B
Markdown

The `bs` branch has reached a milestone: `git-annex find` and `git-annex
get` (when all files are present) process ByteStrings end-to-end with
no String conversion. That sped it up by around 30% on top of the previous
optimisations.
To get here, I spent a couple of days creating the
[filepath-bytestring](https://joeyh.name/blog/entry/announcing_the_filepath-bytestring_haskell_library/)
library, which git-annex will depend on. Lots more git-annex internals
were switched to ByteString, especially everything having to do with
statting files.
Other commands, like `git-annex whereis`, still do some String
conversions. Optimisation never ends.
But the bs branch is ready to merge as-is, and the diff is 10 thousand lines,
so not a branch I want to maintain for long. Planning to merge it after
the next release.