aboutsummaryrefslogtreecommitdiff
path: root/contrib/bc/scripts/benchmark.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bc/scripts/benchmark.sh')
-rwxr-xr-xcontrib/bc/scripts/benchmark.sh159
1 files changed, 0 insertions, 159 deletions
diff --git a/contrib/bc/scripts/benchmark.sh b/contrib/bc/scripts/benchmark.sh
deleted file mode 100755
index 35f92452ce78..000000000000
--- a/contrib/bc/scripts/benchmark.sh
+++ /dev/null
@@ -1,159 +0,0 @@
-#! /bin/sh
-#
-# SPDX-License-Identifier: BSD-2-Clause
-#
-# Copyright (c) 2018-2021 Gavin D. Howard and contributors.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-# This script depends on the GNU time utility, but I am okay with that because
-# this script is only for maintainers.
-
-# Just print the usage and exit with an error.
-usage() {
- printf 'usage: %s [-n<runs>] [-p<pause>] dir benchmark...\n' "$0" 1>&2
- printf ' -n runs is how many runs to run the benchmark, default 10.\n'
- printf ' -p pause is how many seconds to pause before running the benchmarks.\n'
- printf '\n'
- printf 'The fields are put in this order:\n'
- printf '1. Elapsed Time\n'
- printf '2. System Time\n'
- printf '3. User Time\n'
- printf '4. Max RSS\n'
- printf '5. Average RSS\n'
- printf '6. Average Total Memory Use\n'
- printf '7. Average Unshared Data\n'
- printf '8. Average Unshared Stack\n'
- printf '9. Average Shared Text\n'
- printf '10. Major Page Faults\n'
- printf '11. Minor Page Faults\n'
- printf '12. Swaps\n'
- printf '13. Involuntary Context Switches\n'
- printf '14. Voluntary Context Switches\n'
- printf '15. Inputs\n'
- printf '16. Outputs\n'
- printf '17. Signals Delivered\n'
- exit 1
-}
-
-script="$0"
-scriptdir=$(dirname "$script")
-
-runs=10
-pause=0
-
-# Process command-line arguments.
-while getopts "n:p:" opt; do
-
- case "$opt" in
- n) runs="$OPTARG" ;;
- p) pause="$OPTARG" ;;
- ?) usage "Invalid option: $opt" ;;
- esac
-
-done
-
-while [ "$#" -gt 0 ] && [ "$OPTIND" -gt 1 ]; do
-
- OPTIND=$(bin/bc -e "$OPTIND - 1")
- shift
-
-done
-
-if [ "$#" -lt 2 ]; then
- usage
-fi
-
-cd "$scriptdir/.."
-
-d="$1"
-shift
-
-benchmarks=""
-
-# Create the list of benchmarks from the arguments.
-while [ "$#" -gt 0 ]; do
-
- if [ "$benchmarks" = "" ]; then
- benchmarks="$1"
- else
- benchmarks="$benchmarks $1"
- fi
-
- shift
-done
-
-files=""
-
-# Create the list of files from the benchmarks.
-for b in $benchmarks; do
-
- f=$(printf "benchmarks/%s/%s.txt" "$d" "$b")
-
- if [ "$files" = "" ]; then
- files="$f"
- else
- files="$files $f"
- fi
-
-done
-
-if [ "$d" = "bc" ]; then
- opts="-lq"
- halt="halt"
-else
- opts="-x"
- halt="q"
-fi
-
-# Generate all of the benchmarks.
-for b in $benchmarks; do
-
- if [ ! -f "./benchmarks/$d/$b.txt" ]; then
- printf 'Benchmarking generation of benchmarks/%s/%s.txt...\n' "$d" "$b" >&2
- printf '%s\n' "$halt" | /usr/bin/time -v bin/$d $opts "./benchmarks/$d/$b.$d" \
- > "./benchmarks/$d/$b.txt"
- fi
-done
-
-# We use this format to make things easier to use with ministat.
-format="%e %S %U %M %t %K %D %p %X %F %R %W %c %w %I %O %k"
-
-printf 'Benchmarking %s...\n' "$files" >&2
-
-if [ "$pause" -gt 0 ]; then
- sleep "$pause"
-fi
-
-i=0
-
-# Run the benchmarks as many times as told to.
-while [ "$i" -lt "$runs" ]; do
-
- printf '%s\n' "$halt" | /usr/bin/time -f "$format" bin/$d $opts $files 2>&1 > /dev/null
-
- # Might as well use the existing bc.
- i=$(printf '%s + 1\n' "$i" | bin/bc)
-
-done