1. 13 Aug, 2013 1 commit
    • fileops: stat() before open()ing in git_futils_readbuffer_updated() · 9ccdb211
      This reverts refactoring done in 13224ea4
      that introduces a performance regression for NFS when reading files that
      don't exist. open() forces a cache invalidation on NFS, while stat()ing a
      file just uses the cache and is very quick.
      
      To give a specific example, say you have a repo with a thousand packed
      refs. Before this change, looking up every single one ould incur a thousand
      slow open() calls. With this change, it's a thousand fast stat() calls.
      Brodie Rao committed
  2. 12 Aug, 2013 6 commits
  3. 09 Aug, 2013 8 commits
  4. 08 Aug, 2013 8 commits
  5. 07 Aug, 2013 2 commits
  6. 06 Aug, 2013 2 commits
  7. 05 Aug, 2013 5 commits
  8. 04 Aug, 2013 4 commits
  9. 31 Jul, 2013 3 commits
    • Major rename detection changes · d730d3f4
      After doing further profiling, I found that a lot of time was
      being spent attempting to insert hashes into the file hash
      signature when using the rolling hash because the rolling hash
      approach generates a hash per byte of the file instead of one
      per run/line of data.
      
      To optimize this, I decided to convert back to a run-based file
      signature algorithm which would be more like core Git.
      
      After changing this, a number of the existing tests started to
      fail.  In some cases, this appears to have been because the test
      was coded to be too specific to the particular results of the file
      similarity metric and in some cases there appear to have been bugs
      in the core rename detection code where only by the coincidence
      of the file similarity scoring were the expected results being
      generated.
      
      This renames all the variables in the core rename detection code
      to be more consistent and hopefully easier to follow which made it
      a bit easier to reason about the behavior of that code and fix the
      problems that I was seeing.  I think it's in better shape now.
      
      There are a couple of tests now that attempt to stress test the
      rename detection code and they are quite slow.  Most of the time
      is spent setting up the test data on disk and in the index.  When
      we roll out performance improvements for index insertion, it
      should also speed up these tests I hope.
      Russell Belfer committed
    • Merge pull request #1748 from arthurschreiber/patch-1 · 1cd0acf6
      Allow Makefile.embed to be used when cross-compiling
      Carlos Martín Nieto committed
    • When building with MINGW, specify `__USE_MINGW_ANSI_STDIO`. · a6837b5f
      This option is already present in the CMake config, but was missing from `Makefile.embed` and would cause all kinds of weird failures when compiling rugged on windows with the ruby devkit.
      Arthur Schreiber committed
  10. 28 Jul, 2013 1 commit