{"thread":{"id":"36815","subject":"[PATCH] environment: enable core.preloadindex by default","startedAt":"2014-06-02T16:43:00Z","lastAt":"2014-06-05T22:59:55Z","messageCount":6,"participants":["Steve Hoelzer","Karsten Blees","Duy Nguyen","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"243136","messageId":"CACbrTHdoA3UgoXOMVeB2ST_y-JzA2FZM7s8_uwG8C3D29WZK=Q@mail.gmail.com","threadId":"36815","inReplyTo":null,"subject":"[PATCH] environment: enable core.preloadindex by default","fromName":"Steve Hoelzer","fromEmail":"shoelzer@gmail.com","sentAt":"2014-06-02T16:43:00Z","receivedAt":"2014-06-02T16:43:00Z","isPatch":true,"sender":{"key":"shoelzer@gmail.com","avatar":"https://avatars.githubusercontent.com/u/4623209?v=4"},"body":"There is consensus that the default should change because it will\nbenefit nearly all users (some just a little, but some a lot).\nSee [1] and replies.\n\n[1]: http://git.661346.n2.nabble.com/git-status-takes-30-seconds-on-Windows-7-Why-tp7580816p7580853.html\n\nSigned-off-by: Steve Hoelzer <shoelzer@gmail.com>\n---\n Documentation/config.txt | 4 ++--\n environment.c            | 2 +-\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 1932e9b..4b3d965 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -613,9 +613,9 @@ core.preloadindex::\n +\n This can speed up operations like 'git diff' and 'git status' especially\n on filesystems like NFS that have weak caching semantics and thus\n-relatively high IO latencies.  With this set to 'true', Git will do the\n+relatively high IO latencies.  When enabled, Git will do the\n index comparison to the filesystem data in parallel, allowing\n-overlapping IO's.\n+overlapping IO's.  Defaults to true.\n\n core.createObject::\n  You can set this to 'link', in which case a hardlink followed by\ndiff --git a/environment.c b/environment.c\nindex 5c4815d..1c686c9 100644\n--- a/environment.c\n+++ b/environment.c\n@@ -71,7 +71,7 @@ unsigned long pack_size_limit_cfg;\n char comment_line_char = '#';\n\n /* Parallel index stat data preload? */\n-int core_preload_index = 0;\n+int core_preload_index = 1;\n\n /* This is set by setup_git_dir_gently() and/or git_default_config() */\n char *git_work_tree_cfg;\n-- \n1.9.0.msysgit.0\n"},{"id":"243154","messageId":"538CD827.5020607@gmail.com","threadId":"36815","inReplyTo":"CACbrTHdoA3UgoXOMVeB2ST_y-JzA2FZM7s8_uwG8C3D29WZK=Q@mail.gmail.com","subject":"Re: [PATCH] environment: enable core.preloadindex by default","fromName":"Karsten Blees","fromEmail":"karsten.blees@gmail.com","sentAt":"2014-06-02T20:01:43Z","receivedAt":"2014-06-02T20:01:43Z","isPatch":true,"sender":{"key":"karsten.blees@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1111200?v=4"},"body":"Am 02.06.2014 18:43, schrieb Steve Hoelzer:\n> There is consensus that the default should change because it will\n> benefit nearly all users (some just a little, but some a lot).\n> See [1] and replies.\n\nGit for Windows users may want to try core.fscache=true as well [1]. This eliminates the UAC penalties for repositories located on the Windows system drive [2].\n\n[1] https://github.com/msysgit/git/pull/94\n[2] https://code.google.com/p/msysgit/issues/detail?id=320\n"},{"id":"243176","messageId":"CACbrTHdyxdGWyq46GNttQ4671epLmuL9BA2Fszmua0u8a=4jSw@mail.gmail.com","threadId":"36815","inReplyTo":"538CD827.5020607@gmail.com","subject":"Re: [PATCH] environment: enable core.preloadindex by default","fromName":"Steve Hoelzer","fromEmail":"shoelzer@gmail.com","sentAt":"2014-06-03T06:18:12Z","receivedAt":"2014-06-03T06:18:12Z","isPatch":true,"sender":{"key":"shoelzer@gmail.com","avatar":"https://avatars.githubusercontent.com/u/4623209?v=4"},"body":"On Mon, Jun 2, 2014 at 3:01 PM, Karsten Blees <karsten.blees@gmail.com> wrote:\n> Git for Windows users may want to try core.fscache=true as well [1]. This eliminates the UAC penalties for repositories located on the Windows system drive [2].\n>\n> [1] https://github.com/msysgit/git/pull/94\n> [2] https://code.google.com/p/msysgit/issues/detail?id=320\n\nThanks for the tip! I didn't know about fscache, but I'll definitely\ngive it a try. Is there a reason it is not turned on by default in Git\nfor Windows?\n\nSteve\n"},{"id":"243183","messageId":"538D84D8.5080604@gmail.com","threadId":"36815","inReplyTo":"CACbrTHdyxdGWyq46GNttQ4671epLmuL9BA2Fszmua0u8a=4jSw@mail.gmail.com","subject":"Re: [PATCH] environment: enable core.preloadindex by default","fromName":"Karsten Blees","fromEmail":"karsten.blees@gmail.com","sentAt":"2014-06-03T08:18:32Z","receivedAt":"2014-06-03T08:18:32Z","isPatch":true,"sender":{"key":"karsten.blees@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1111200?v=4"},"body":"Am 03.06.2014 08:18, schrieb Steve Hoelzer:\n> On Mon, Jun 2, 2014 at 3:01 PM, Karsten Blees <karsten.blees@gmail.com> wrote:\n>> Git for Windows users may want to try core.fscache=true as well [1]. This eliminates the UAC penalties for repositories located on the Windows system drive [2].\n>>\n>> [1] https://github.com/msysgit/git/pull/94\n>> [2] https://code.google.com/p/msysgit/issues/detail?id=320\n> \n> Thanks for the tip! I didn't know about fscache, but I'll definitely\n> give it a try. Is there a reason it is not turned on by default in Git\n> for Windows?\n> \n> Steve\n> \n\nThe feature has been merged only a few months ago, and I believe no one has found the time yet to do a thorough review of the workhorse compat/win32/fscache.[ch]. So the safe bet is to keep it turned off by default.\n"},{"id":"243184","messageId":"CACsJy8A0EixLPCEO4R_pX2FM35PMJuFPxLw3_axxBUpj-rb18A@mail.gmail.com","threadId":"36815","inReplyTo":"CACbrTHdoA3UgoXOMVeB2ST_y-JzA2FZM7s8_uwG8C3D29WZK=Q@mail.gmail.com","subject":"Re: [PATCH] environment: enable core.preloadindex by default","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2014-06-03T08:41:58Z","receivedAt":"2014-06-03T08:41:58Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Mon, Jun 2, 2014 at 11:43 PM, Steve Hoelzer <shoelzer@gmail.com> wrote:\n> There is consensus that the default should change because it will\n> benefit nearly all users (some just a little, but some a lot).\n> See [1] and replies.\n>\n> [1]: http://git.661346.n2.nabble.com/git-status-takes-30-seconds-on-Windows-7-Why-tp7580816p7580853.html\n\nNot only Windows. core.preloadindex helps large repos on Linux as well\n[2]. So +1.\n\n[2] http://article.gmane.org/gmane.comp.version-control.git/248013\n-- \nDuy\n"},{"id":"243430","messageId":"xmqqr433q7x0.fsf@gitster.dls.corp.google.com","threadId":"36815","inReplyTo":"CACbrTHdoA3UgoXOMVeB2ST_y-JzA2FZM7s8_uwG8C3D29WZK=Q@mail.gmail.com","subject":"Re: [PATCH] environment: enable core.preloadindex by default","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-06-05T22:59:55Z","receivedAt":"2014-06-05T22:59:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Steve Hoelzer <shoelzer@gmail.com> writes:\n\n> There is consensus that the default should change because it will\n> benefit nearly all users (some just a little, but some a lot).\n> See [1] and replies.\n>\n> [1]: http://git.661346.n2.nabble.com/git-status-takes-30-seconds-on-Windows-7-Why-tp7580816p7580853.html\n>\n> Signed-off-by: Steve Hoelzer <shoelzer@gmail.com>\n> ---\n\nThe patch is whitespace damaged, and the log message was unusable\nwithout referring to an external site.  Both locally fixed and\nqueued.\n\nThanks.\n\n>  Documentation/config.txt | 4 ++--\n>  environment.c            | 2 +-\n>  2 files changed, 3 insertions(+), 3 deletions(-)\n>\n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 1932e9b..4b3d965 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -613,9 +613,9 @@ core.preloadindex::\n>  +\n>  This can speed up operations like 'git diff' and 'git status' especially\n>  on filesystems like NFS that have weak caching semantics and thus\n> -relatively high IO latencies.  With this set to 'true', Git will do the\n> +relatively high IO latencies.  When enabled, Git will do the\n>  index comparison to the filesystem data in parallel, allowing\n> -overlapping IO's.\n> +overlapping IO's.  Defaults to true.\n>\n>  core.createObject::\n>   You can set this to 'link', in which case a hardlink followed by\n> diff --git a/environment.c b/environment.c\n> index 5c4815d..1c686c9 100644\n> --- a/environment.c\n> +++ b/environment.c\n> @@ -71,7 +71,7 @@ unsigned long pack_size_limit_cfg;\n>  char comment_line_char = '#';\n>\n>  /* Parallel index stat data preload? */\n> -int core_preload_index = 0;\n> +int core_preload_index = 1;\n>\n>  /* This is set by setup_git_dir_gently() and/or git_default_config() */\n>  char *git_work_tree_cfg;\n"}]}