microsoft / microsoft/VFSForGit

Mac: Utilize the vnode cache when finding the root after a cache miss

Open
#919 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

affects: performance domain: kext platform: macOS
Dominant language
C#
Stars
6.1k
Forks
474
Avg merge
2d 4h
Merged PRs (30d)
8

Description

See #611 and PR #715 for background.

Feedback in #715 that's being moved to this new issue:

As you don't mention it in the remaining work list, I'll point out that the current implementation doesn't utilise the vnode cache in the root search. If we look up the parent directory in the cache instead of walking all the way up to the known root vnode that should give us another performance boost.

Rather than walking up the entire vnode tree, we can first check the vnode cache and see if one of the parent vnodes already has an entry.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read issue #611 and PR #715 for the existing root-search implementation and remaining work. Locate the Mac vnode cache and root-search entry points, then verify that parent vnodes are checked in the cache before walking to the known root; done means the lookup avoids unnecessary traversal while preserving correct results.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, macos
Domain
operating-systems, performance, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.