1. 21 8月, 2011 5 次提交
    • F
      Use kwset in grep · 9eceddee
      Fredrik Kuivinen 提交于
      Benchmarks for the hot cache case:
      
      before:
      $ perf stat --repeat=5 git grep qwerty > /dev/null
      
      Performance counter stats for 'git grep qwerty' (5 runs):
      
              3,478,085 cache-misses             #      2.322 M/sec   ( +-   2.690% )
             11,356,177 cache-references         #      7.582 M/sec   ( +-   2.598% )
              3,872,184 branch-misses            #      0.363 %       ( +-   0.258% )
          1,067,367,848 branches                 #    712.673 M/sec   ( +-   2.622% )
          3,828,370,782 instructions             #      0.947 IPC     ( +-   0.033% )
          4,043,832,831 cycles                   #   2700.037 M/sec   ( +-   0.167% )
                  8,518 page-faults              #      0.006 M/sec   ( +-   3.648% )
                    847 CPU-migrations           #      0.001 M/sec   ( +-   3.262% )
                  6,546 context-switches         #      0.004 M/sec   ( +-   2.292% )
            1497.695495 task-clock-msecs         #      3.303 CPUs    ( +-   2.550% )
      
             0.453394396  seconds time elapsed   ( +-   0.912% )
      
      after:
      $ perf stat --repeat=5 git grep qwerty > /dev/null
      
      Performance counter stats for 'git grep qwerty' (5 runs):
      
              2,989,918 cache-misses             #      3.166 M/sec   ( +-   5.013% )
             10,986,041 cache-references         #     11.633 M/sec   ( +-   4.899% )  (scaled from 95.06%)
              3,511,993 branch-misses            #      1.422 %       ( +-   0.785% )
            246,893,561 branches                 #    261.433 M/sec   ( +-   3.967% )
          1,392,727,757 instructions             #      0.564 IPC     ( +-   0.040% )
          2,468,142,397 cycles                   #   2613.494 M/sec   ( +-   0.110% )
                  7,747 page-faults              #      0.008 M/sec   ( +-   3.995% )
                    897 CPU-migrations           #      0.001 M/sec   ( +-   2.383% )
                  6,535 context-switches         #      0.007 M/sec   ( +-   1.993% )
             944.384228 task-clock-msecs         #      3.177 CPUs    ( +-   0.268% )
      
             0.297257643  seconds time elapsed   ( +-   0.450% )
      
      So we gain about 35% by using the kwset code.
      
      As a side effect of using kwset two grep tests are fixed by this
      patch. The first is fixed because kwset can deal with case-insensitive
      search containing NULs, something strcasestr cannot do. The second one
      is fixed because we consider patterns containing NULs as fixed strings
      (regcomp cannot accept patterns with NULs).
      Signed-off-by: NFredrik Kuivinen <frekui@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9eceddee
    • F
      Use kwset in pickaxe · b95c5ada
      Fredrik Kuivinen 提交于
      Benchmarks in the hot cache case:
      
      before:
      $ perf stat --repeat=5 git log -Sqwerty
      
      Performance counter stats for 'git log -Sqwerty' (5 runs):
      
             47,092,744 cache-misses             #      2.825 M/sec   ( +-   1.607% )
            123,368,389 cache-references         #      7.400 M/sec   ( +-   0.812% )
            330,040,998 branch-misses            #      3.134 %       ( +-   0.257% )
         10,530,896,750 branches                 #    631.663 M/sec   ( +-   0.121% )
         62,037,201,030 instructions             #      1.399 IPC     ( +-   0.142% )
         44,331,294,321 cycles                   #   2659.073 M/sec   ( +-   0.326% )
                 96,794 page-faults              #      0.006 M/sec   ( +-  11.952% )
                     25 CPU-migrations           #      0.000 M/sec   ( +-  25.266% )
                  1,424 context-switches         #      0.000 M/sec   ( +-   0.540% )
           16671.708650 task-clock-msecs         #      0.997 CPUs    ( +-   0.343% )
      
            16.728692052  seconds time elapsed   ( +-   0.344% )
      
      after:
      $ perf stat --repeat=5 git log -Sqwerty
      
      Performance counter stats for 'git log -Sqwerty' (5 runs):
      
             51,385,522 cache-misses             #      4.619 M/sec   ( +-   0.565% )
            129,177,880 cache-references         #     11.611 M/sec   ( +-   0.219% )
            319,222,775 branch-misses            #      6.946 %       ( +-   0.134% )
          4,595,913,233 branches                 #    413.086 M/sec   ( +-   0.112% )
         31,395,042,533 instructions             #      1.062 IPC     ( +-   0.129% )
         29,558,348,598 cycles                   #   2656.740 M/sec   ( +-   0.204% )
                 93,224 page-faults              #      0.008 M/sec   ( +-   4.487% )
                     19 CPU-migrations           #      0.000 M/sec   ( +-  10.425% )
                    950 context-switches         #      0.000 M/sec   ( +-   0.360% )
           11125.796039 task-clock-msecs         #      0.997 CPUs    ( +-   0.239% )
      
            11.164216599  seconds time elapsed   ( +-   0.240% )
      
      So the kwset code is about 33% faster.
      Signed-off-by: NFredrik Kuivinen <frekui@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b95c5ada
    • F
      Adapt the kwset code to Git · fca65d4b
      Fredrik Kuivinen 提交于
      Signed-off-by: NFredrik Kuivinen <frekui@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      fca65d4b
    • F
      Add string search routines from GNU grep · 05f3dbba
      Fredrik Kuivinen 提交于
      kwset.c and kwset.h have been copied unmodified from commit e7ac713d^
      in the GNU grep git repository (this is the last commit in the
      repository licensed under GPLv2).
      Signed-off-by: NFredrik Kuivinen <frekui@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      05f3dbba
    • F
      Add obstack.[ch] from EGLIBC 2.10 · e831171d
      Fredrik Kuivinen 提交于
      Signed-off-by: NFredrik Kuivinen <frekui@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e831171d
  2. 19 8月, 2011 5 次提交
  3. 18 8月, 2011 12 次提交
    • J
      Update draft release notes to 1.7.7 · f85a051d
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      f85a051d
    • J
      Merge branch 'mh/check-attr-relative' · 324b6b16
      Junio C Hamano 提交于
      * mh/check-attr-relative: (29 commits)
        test-path-utils: Add subcommand "prefix_path"
        test-path-utils: Add subcommand "absolute_path"
        git-check-attr: Normalize paths
        git-check-attr: Demonstrate problems with relative paths
        git-check-attr: Demonstrate problems with unnormalized paths
        git-check-attr: test that no output is written to stderr
        Rename git_checkattr() to git_check_attr()
        git-check-attr: Fix command-line handling to match docs
        git-check-attr: Drive two tests using the same raw data
        git-check-attr: Add an --all option to show all attributes
        git-check-attr: Error out if no pathnames are specified
        git-check-attr: Process command-line args more systematically
        git-check-attr: Handle each error separately
        git-check-attr: Extract a function error_with_usage()
        git-check-attr: Introduce a new variable
        git-check-attr: Extract a function output_attr()
        Allow querying all attributes on a file
        Remove redundant check
        Remove redundant call to bootstrap_attr_stack()
        Extract a function collect_all_attrs()
        ...
      324b6b16
    • J
      Merge branch 'js/bisect-no-checkout' · da68bf33
      Junio C Hamano 提交于
      * js/bisect-no-checkout:
        bisect: add support for bisecting bare repositories
        bisect: further style nitpicks
        bisect: replace "; then" with "\n<tab>*then"
        bisect: cleanup whitespace errors in git-bisect.sh.
        bisect: add documentation for --no-checkout option.
        bisect: add tests for the --no-checkout option.
        bisect: introduce --no-checkout support into porcelain.
        bisect: introduce support for --no-checkout option.
        bisect: add tests to document expected behaviour in presence of broken trees.
        bisect: use && to connect statements that are deferred with eval.
        bisect: move argument parsing before state modification.
      da68bf33
    • J
      Merge branch 'rc/histogram-diff' · ca016003
      Junio C Hamano 提交于
      * rc/histogram-diff:
        xdiff/xhistogram: drop need for additional variable
        xdiff/xhistogram: rely on xdl_trim_ends()
        xdiff/xhistogram: rework handling of recursed results
        xdiff: do away with xdl_mmfile_next()
        Make test number unique
        xdiff/xprepare: use a smaller sample size for histogram diff
        xdiff/xprepare: skip classification
        teach --histogram to diff
        t4033-diff-patience: factor out tests
        xdiff/xpatience: factor out fall-back-diff function
        xdiff/xprepare: refactor abort cleanups
        xdiff/xprepare: use memset()
      ca016003
    • J
      Merge branch 'jc/maint-smart-http-race-upload-pack' · 2f5cb6aa
      Junio C Hamano 提交于
      * jc/maint-smart-http-race-upload-pack:
        helping smart-http/stateless-rpc fetch race
      2f5cb6aa
    • J
      Merge branch 'js/sh-style' · 14612058
      Junio C Hamano 提交于
      * js/sh-style:
        filter-branch.sh: de-dent usage string
        misc-sh: fix up whitespace in some other .sh files.
      14612058
    • J
      Merge branch 'js/ref-namespaces' · 6ed547b5
      Junio C Hamano 提交于
      * js/ref-namespaces:
        ref namespaces: tests
        ref namespaces: documentation
        ref namespaces: Support remote repositories via upload-pack and receive-pack
        ref namespaces: infrastructure
        Fix prefix handling in ref iteration functions
      6ed547b5
    • J
      Merge branch 'cb/maint-quiet-push' · 6dd5622f
      Junio C Hamano 提交于
      * cb/maint-quiet-push:
        receive-pack: do not overstep command line argument array
        propagate --quiet to send-pack/receive-pack
      
      Conflicts:
      	Documentation/git-receive-pack.txt
      	Documentation/git-send-pack.txt
      6dd5622f
    • J
      Merge branch 'jc/maint-combined-diff-work-tree' · 660578d4
      Junio C Hamano 提交于
      * jc/maint-combined-diff-work-tree:
        diff -c/--cc: do not mistake "resolved as deletion" as "use working tree"
      
      Conflicts:
      	combine-diff.c
      660578d4
    • J
      Merge branch 'cb/maint-exec-error-report' · 253348b2
      Junio C Hamano 提交于
      * cb/maint-exec-error-report:
        notice error exit from pager
        error_routine: use parent's stderr if exec fails
      253348b2
    • J
      Merge branch 'maint' · ddd89c6f
      Junio C Hamano 提交于
      * maint:
        checkout-index: remove obsolete comment
      ddd89c6f
    • N
      checkout-index: remove obsolete comment · a47a645e
      Nguyễn Thái Ngọc Duy 提交于
      The first paragraph about flag order is no longer true and is
      mentioned in git-checkout-index.txt. The rest is also mentioned in
      git-checkout-index.txt.
      
      Remove it and keep uptodate document in one place.
      Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a47a645e
  4. 17 8月, 2011 18 次提交