t / perf / p4211-line-log.shon commit Merge branch 'js/fuzzer' (0c41b3b)
   1#!/bin/sh
   2
   3test_description='Tests log -L performance'
   4. ./perf-lib.sh
   5
   6test_perf_default_repo
   7
   8# Pick a file to log pseudo-randomly.  The sort key is the blob hash,
   9# so it is stable.
  10test_expect_success 'select a file' '
  11        git ls-tree HEAD | grep ^100644 |
  12        sort -k 3 | head -1 | cut -f 2 >filelist
  13'
  14
  15file=$(cat filelist)
  16export file
  17
  18test_perf 'git rev-list --topo-order (baseline)' '
  19        git rev-list --topo-order HEAD >/dev/null
  20'
  21
  22test_perf 'git log --follow (baseline for -M)' '
  23        git log --oneline --follow -- "$file" >/dev/null
  24'
  25
  26test_perf 'git log -L (renames off)' '
  27        git log --no-renames -L 1:"$file" >/dev/null
  28'
  29
  30test_perf 'git log -L (renames on)' '
  31        git log -M -L 1:"$file" >/dev/null
  32'
  33
  34test_perf 'git log --oneline --raw --parents' '
  35        git log --oneline --raw --parents >/dev/null
  36'
  37
  38test_perf 'git log --oneline --raw --parents -1000' '
  39        git log --oneline --raw --parents -1000 >/dev/null
  40'
  41
  42test_done