1. 24 5月, 2012 1 次提交
  2. 23 5月, 2012 1 次提交
  3. 02 5月, 2012 1 次提交
    • T
      xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE · 6f1af028
      Thomas Rast 提交于
      Darwin does not define __WORDSIZE, and compiles the 32-bit code path
      on 64-bit systems, resulting in a totally broken git.
      
      I could not find an alternative -- other than the platform symbols
      (__x86_64__ etc.) -- that does the test in the preprocessor.  However,
      we can also just test for the size of a 'long', which is what really
      matters here.  Any compiler worth its salt will leave only the branch
      relevant for its platform, and indeed on Linux/GCC the numbers don't
      change:
      
       Test                                  tr/darwin-xdl-fast-hash   origin/next              origin/master
       ------------------------------------------------------------------------------------------------------------------
       4000.1: log -3000 (baseline)          0.09(0.07+0.01)           0.09(0.07+0.01) -5.5%*   0.09(0.07+0.01) -4.1%
       4000.2: log --raw -3000 (tree-only)   0.47(0.41+0.05)           0.47(0.40+0.05) -0.5%    0.45(0.38+0.06) -3.5%.
       4000.3: log -p -3000 (Myers)          1.81(1.67+0.12)           1.81(1.67+0.13) +0.3%    1.99(1.84+0.12) +10.2%***
       4000.4: log -p -3000 --histogram      1.79(1.66+0.11)           1.80(1.67+0.11) +0.4%    1.96(1.82+0.10) +9.2%***
       4000.5: log -p -3000 --patience       2.17(2.02+0.13)           2.20(2.04+0.13) +1.3%.   2.33(2.18+0.13) +7.4%***
       ------------------------------------------------------------------------------------------------------------------
       Significance hints:  '.' 0.1  '*' 0.05  '**' 0.01  '***' 0.001
      Noticed-by: NBrian Gernhardt <brian@gernhardtsoftware.com>
      Signed-off-by: NThomas Rast <trast@student.ethz.ch>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6f1af028
  4. 10 4月, 2012 1 次提交
    • T
      xdiff: load full words in the inner loop of xdl_hash_record · 6942efcf
      Thomas Rast 提交于
      Redo the hashing loop in xdl_hash_record in a way that loads an entire
      'long' at a time, using masking tricks to see when and where we found
      the terminating '\n'.
      
      I stole inspiration and code from the posts by Linus Torvalds around
      
        https://lkml.org/lkml/2012/3/2/452
        https://lkml.org/lkml/2012/3/5/6
      
      His method reads the buffers in sizeof(long) increments, and may thus
      overrun it by at most sizeof(long)-1 bytes before it sees the final
      newline (or hits the buffer length check).  I considered padding out
      all buffers by a suitable amount to "catch" the overrun, but
      
      * this does not work for mmap()'d buffers: if you map 4096+8 bytes
        from a 4096 byte file, accessing the last 8 bytes results in a
        SIGBUS on my machine; and
      
      * it would also be extremely ugly because it intrudes deep into the
        unpacking machinery.
      
      So I adapted it to not read beyond the buffer at all.  Instead, it
      reads the final partial word byte-by-byte and strings it together.
      Then it can use the same logic as before to finish the hashing.
      
      So far we enable this only on x86_64, where it provides nice speedup
      for diff-related work:
      
        Test                                  origin/next      tr/xdiff-fast-hash
        -----------------------------------------------------------------------------
        4000.1: log -3000 (baseline)          0.07(0.05+0.02)  0.08(0.06+0.02) +14.3%
        4000.2: log --raw -3000 (tree-only)   0.37(0.33+0.04)  0.37(0.32+0.04) +0.0%
        4000.3: log -p -3000 (Myers)          1.75(1.65+0.09)  1.60(1.49+0.10) -8.6%
        4000.4: log -p -3000 --histogram      1.73(1.62+0.09)  1.58(1.49+0.08) -8.7%
        4000.5: log -p -3000 --patience       2.11(2.00+0.10)  1.94(1.80+0.11) -8.1%
      
      Perhaps other platforms could also benefit.  However it does NOT work
      on big-endian systems!
      
      [jc: minimum style and compilation fixes]
      Signed-off-by: NThomas Rast <trast@student.ethz.ch>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6942efcf
  5. 07 4月, 2012 2 次提交
  6. 04 4月, 2012 1 次提交
  7. 03 4月, 2012 7 次提交
  8. 02 4月, 2012 2 次提交
  9. 31 3月, 2012 2 次提交
  10. 30 3月, 2012 1 次提交
  11. 29 3月, 2012 3 次提交
  12. 28 3月, 2012 1 次提交
  13. 27 3月, 2012 14 次提交
  14. 24 3月, 2012 3 次提交
    • J
      Merge gitk changes from Paul Mackerras at git://ozlabs.org/~paulus/gitk · b4760645
      Junio C Hamano 提交于
      * git://ozlabs.org/~paulus/gitk:
        gitk: Teach gitk to respect log.showroot
        gitk: Add menu items for comparing a commit with the marked commit
        gitk: Speed up resolution of short SHA1 ids
        gitk: Use symbolic font names "sans" and "monospace" when available
        gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields
        gitk: Make "git describe" output clickable, too
        gitk: Fix the display of files when filtered by path
        gitk: Use a tabbed dialog to edit preferences
        gitk: Use "gitk: repo-top-level-dir" as window title
      b4760645
    • M
      gitk: Teach gitk to respect log.showroot · b2b76d10
      Marcus Karlsson 提交于
      In early days, all projects managed by git (except for git itself) had the
      product of a fairly mature development history in their first commit, and
      it was deemed unnecessary clutter to show additions of these thousands of
      paths as a patch.
      
      "git log" learned to show the patch for the initial commit without requiring
      --root command line option at 0f03ca94 (config option log.showroot to show
      the diff of root commits, 2006-11-23).
      
      Teach gitk to respect log.showroot.
      
      [paulus@samba.org: Cleaned up the Tcl a bit, use --bool on the
       git config call]
      Signed-off-by: NMarcus Karlsson <mk@acc.umu.se>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b2b76d10
    • J
      Git 1.7.10-rc2 · c16df57c
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c16df57c