Thread (15 messages) flat view 15 messages, 4 authors, 2016-06-15

Re: [PATCH v3 2/4] path: optimize common dir checking

From: Duy Nguyen <hidden>
Date: 2016-06-15 23:06:12

On Sun, Aug 16, 2015 at 12:04 PM, David Turner [off-list ref] wrote:
Duy Nguyen [off-list ref] writes:
quoted
On Thu, Aug 13, 2015 at 4:57 AM, David Turner [off-list ref]
wrote:
quoted
quoted
Instead of a linear search over common_list to check whether
a path is common, use a trie.  The trie search operates on
path prefixes, and handles excludes.
Just be careful that the given key from git_path is not normalized. I
think you assume it is in the code, but I haven't read carefully. We
could of course optimize for the good case: assume normalized and
search, then fall back to explicit normalizing and search again.
What does it mean for a key to be normalized?  Do you mean normalized in
terms of upper/lowercase on case-insensitive filesystems?  If so, I think the
assumption here is that this will be called with paths generated by git,
which will always use the lowercase path.
Mostly about duplicated slashes, "abc//def" instead of "abc/def".
Technically nothing forbids git_path("refs/../refs/foo"), but that
would fool even current code.
-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help