This is mostly for discussion at this time. I did some profiling to find out
why certain darcs commands take quite a long time before they present a
patch. For instance, in screened, 'echo nn | darcs rollback GNUmakefile'
takes a few seconds to run. This is basically an algorithmic problem, not
related to low-level parsing efficiency. However, I found that after
eliminating some of the algorithmic problems, it appears that the white
space decoding is responsible for more than half of the runtime.
1 patch for repository http://darcs.net/screened:
Author: Ben Franksen <firstname.lastname@example.org>
Date: Sat Feb 15 20:30:32 CET 2020
* use more efficient filename format for V3
It now prefixes each filename with its length in bytes and then stores the
raw byte string. This avoids any need for encoding white space. The output
of darcs commands is not affected except when the infamous
--machine-readable option is in effect.