diff options
author | Thomas Rast <trast@student.ethz.ch> | 2012-03-06 14:15:01 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-03-06 11:48:11 -0800 |
commit | 85551232b56e763ecfcc7222e0858bac4e962c80 (patch) | |
tree | 18cb9e89546bce2b76bd99e7e1e0109d3c4884a9 /t/perf | |
parent | 2980b0de1b387e4f9a63c50ca741271990c849d5 (diff) | |
download | git-85551232b56e763ecfcc7222e0858bac4e962c80.tar.gz git-85551232b56e763ecfcc7222e0858bac4e962c80.tar.xz |
perf: compare diff algorithms
8c912ee (teach --histogram to diff, 2011-07-12) claimed histogram diff
was faster than both Myers and patience.
We have since incorporated a performance testing framework, so add a
test that compares the various diff tasks performed in a real 'log -p'
workload. This does indeed show that histogram diff slightly beats
Myers, while patience is much slower than the others.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/perf')
-rwxr-xr-x | t/perf/p4000-diff-algorithms.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/t/perf/p4000-diff-algorithms.sh b/t/perf/p4000-diff-algorithms.sh new file mode 100755 index 000000000..d6e505c78 --- /dev/null +++ b/t/perf/p4000-diff-algorithms.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +test_description="Tests diff generation performance" + +. ./perf-lib.sh + +test_perf_default_repo + +test_perf 'log -3000 (baseline)' ' + git log -1000 >/dev/null +' + +test_perf 'log --raw -3000 (tree-only)' ' + git log --raw -3000 >/dev/null +' + +test_perf 'log -p -3000 (Myers)' ' + git log -p -3000 >/dev/null +' + +test_perf 'log -p -3000 --histogram' ' + git log -p -3000 --histogram >/dev/null +' + +test_perf 'log -p -3000 --patience' ' + git log -p -3000 --patience >/dev/null +' + +test_done |