{"action":"created","issue":{"url":"https://api.github.com/repos/git-for-windows/git/issues/955","repository_url":"https://api.github.com/repos/git-for-windows/git","labels_url":"https://api.github.com/repos/git-for-windows/git/issues/955/labels{/name}","comments_url":"https://api.github.com/repos/git-for-windows/git/issues/955/comments","events_url":"https://api.github.com/repos/git-for-windows/git/issues/955/events","html_url":"https://github.com/git-for-windows/git/pull/955","id":189171126,"number":955,"title":"preload-index: avoid lstat for skip-worktree items","user":{"login":"jeffhostetler","id":7493832,"avatar_url":"https://avatars.githubusercontent.com/u/7493832?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffhostetler","html_url":"https://github.com/jeffhostetler","followers_url":"https://api.github.com/users/jeffhostetler/followers","following_url":"https://api.github.com/users/jeffhostetler/following{/other_user}","gists_url":"https://api.github.com/users/jeffhostetler/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffhostetler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffhostetler/subscriptions","organizations_url":"https://api.github.com/users/jeffhostetler/orgs","repos_url":"https://api.github.com/users/jeffhostetler/repos","events_url":"https://api.github.com/users/jeffhostetler/events{/privacy}","received_events_url":"https://api.github.com/users/jeffhostetler/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-11-14T17:17:13Z","updated_at":"2016-11-15T16:57:31Z","closed_at":"2016-11-15T16:57:21Z","pull_request":{"url":"https://api.github.com/repos/git-for-windows/git/pulls/955","html_url":"https://github.com/git-for-windows/git/pull/955","diff_url":"https://github.com/git-for-windows/git/pull/955.diff","patch_url":"https://github.com/git-for-windows/git/pull/955.patch"},"body":"Teach preload-index to avoid lstat() calls for index-entries\r\nwith skip-worktree bit set.  This is a performance optimization.\r\n\r\nDuring a sparse-checkout, the skip-worktree bit is set on items\r\nthat were not populated and therefore are not present in the\r\nworktree.  The per-thread preload-index loop performs a series\r\nof tests on each index-entry as it attempts to compare the\r\nworktree version with the index and mark them up-to-date.\r\nThis patch short-cuts that work.\r\n\r\nOn a Windows 10 system with a very large repo (450MB index)\r\nand various levels of sparseness, performance was improved\r\nin the {preloadindex=true, fscache=false} case by 80% and\r\nin the {preloadindex=true, fscache=true} case by 20% for various\r\ncommands.\r\n\r\nSigned-off-by: Jeff Hostetler <jeffhost@microsoft.com>"},"comment":{"url":"https://api.github.com/repos/git-for-windows/git/issues/comments/260699457","html_url":"https://github.com/git-for-windows/git/pull/955#issuecomment-260699457","issue_url":"https://api.github.com/repos/git-for-windows/git/issues/955","id":260699457,"user":{"login":"dscho","id":127790,"avatar_url":"https://avatars.githubusercontent.com/u/127790?v=3","gravatar_id":"","url":"https://api.github.com/users/dscho","html_url":"https://github.com/dscho","followers_url":"https://api.github.com/users/dscho/followers","following_url":"https://api.github.com/users/dscho/following{/other_user}","gists_url":"https://api.github.com/users/dscho/gists{/gist_id}","starred_url":"https://api.github.com/users/dscho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dscho/subscriptions","organizations_url":"https://api.github.com/users/dscho/orgs","repos_url":"https://api.github.com/users/dscho/repos","events_url":"https://api.github.com/users/dscho/events{/privacy}","received_events_url":"https://api.github.com/users/dscho/received_events","type":"User","site_admin":false},"created_at":"2016-11-15T16:57:31Z","updated_at":"2016-11-15T16:57:31Z","body":"Awesome! Thank you so much!"}}
{"actor":{"display_login":"dscho"}}