t / perf / p4211-line-log.shon commit Merge branch 'js/fsck-tag-validation' (1cb4b3d)
   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' '
  27        git log -L 1:"$file" >/dev/null
  28'
  29
  30test_perf 'git log -M -L' '
  31        git log -M -L 1:"$file" >/dev/null
  32'
  33
  34test_done