on master help sign in
Clean benchmarking environment
6fd78eaDavid Peter
tests/benchmarks/run-benchmarks.sh+25−5
@@ -29,6 +29,20 @@ heading() {
29 echo -e "\n### $1\n" >> "$REPORT"
29 echo -e "\n### $1\n" >> "$REPORT"
30}
30}
31
31
32+# Clean up environment
33+unset BAT_CACHE_PATH
34+unset BAT_CONFIG_DIR
35+unset BAT_CONFIG_PATH
36+unset BAT_OPTS
37+unset BAT_PAGER
38+unset BAT_STYLE
39+unset BAT_TABS
40+unset BAT_THEME
41+unset COLORTERM
42+unset NO_COLOR
43+unset PAGER
44+
45+
32RESULT_DIR="benchmark-results"
46RESULT_DIR="benchmark-results"
33REPORT="$RESULT_DIR/report.md"
47REPORT="$RESULT_DIR/report.md"
34
48
@@ -68,28 +82,34 @@ rm -f "$RESULT_DIR"/*.md
68
82
69echo "## \`bat\` benchmark results" >> "$REPORT"
83echo "## \`bat\` benchmark results" >> "$REPORT"
70
84
85+
71heading "Startup time"
86heading "Startup time"
72hyperfine \
87hyperfine \
73− "$BAT" \
88+ "$(printf "%q" "$BAT") --no-config" \
89+ --command-name "bat" \
74 --warmup "$WARMUP_COUNT" \
90 --warmup "$WARMUP_COUNT" \
75 --export-markdown "$RESULT_DIR/startup-time.md" \
91 --export-markdown "$RESULT_DIR/startup-time.md" \
76 --export-json "$RESULT_DIR/startup-time.json"
92 --export-json "$RESULT_DIR/startup-time.json"
77cat "$RESULT_DIR/startup-time.md" >> "$REPORT"
93cat "$RESULT_DIR/startup-time.md" >> "$REPORT"
78
94
95+
79−heading "Plain text speed"
96+heading "Plain-text speed"
80hyperfine \
97hyperfine \
81− "$(printf "%q" "$BAT") --language txt --paging=never 'test-src/jquery-3.3.1.js'" \
98+ "$(printf "%q" "$BAT") --no-config --language=txt --style=plain test-src/test_multiarray.py" \
99+ --command-name 'bat … --language=txt test_multiarray.py' \
82 --warmup "$WARMUP_COUNT" \
100 --warmup "$WARMUP_COUNT" \
83 --export-markdown "$RESULT_DIR/plain-text-speed.md" \
101 --export-markdown "$RESULT_DIR/plain-text-speed.md" \
84 --export-json "$RESULT_DIR/plain-text-speed.json"
102 --export-json "$RESULT_DIR/plain-text-speed.json"
85cat "$RESULT_DIR/plain-text-speed.md" >> "$REPORT"
103cat "$RESULT_DIR/plain-text-speed.md" >> "$REPORT"
86
104
105+
87for SRC in test-src/*; do
106for SRC in test-src/*; do
88 filename="$(basename "$SRC")"
107 filename="$(basename "$SRC")"
89− heading "Syntax highlighting speed: \`$filename\`"
90
108
109+ heading "Syntax highlighting speed: \`$filename\`"
91 hyperfine --warmup "$WARMUP_COUNT" \
110 hyperfine --warmup "$WARMUP_COUNT" \
92− "$(printf "%q" "$BAT") --style=full --color=always --paging=never $(printf "%q" "$SRC")" \
111+ "$(printf "%q" "$BAT") --no-config --style=full --color=always --wrap=character --terminal-width=80 '$SRC'" \
112+ --command-name "bat … ${filename}" \
93 --export-markdown "$RESULT_DIR/syntax-highlighting-speed-${filename}.md" \
113 --export-markdown "$RESULT_DIR/syntax-highlighting-speed-${filename}.md" \
94 --export-json "$RESULT_DIR/syntax-highlighting-speed-${filename}.json"
114 --export-json "$RESULT_DIR/syntax-highlighting-speed-${filename}.json"
95 cat "$RESULT_DIR/syntax-highlighting-speed-${filename}.md" >> "$REPORT"
115 cat "$RESULT_DIR/syntax-highlighting-speed-${filename}.md" >> "$REPORT"