X-Git-Url: http://nitlanguage.org diff --git a/benchmarks/bench_plot.sh b/benchmarks/bench_plot.sh index 0c7d36b..db0507d 100755 --- a/benchmarks/bench_plot.sh +++ b/benchmarks/bench_plot.sh @@ -62,11 +62,14 @@ function prepare_res() { echo echo "# [$2] $3 #" + if test -n "$html"; then + echo >>"$html" "

[$2] $3 data

" + fi res=$1 if [ "$plots" = "" ]; then - plots="plot '$1' using 4:2:3:xticlabels(5) ti '$2';" + plots="plot '$1' using 4:2:3:xticlabels(5) ti '$2'" else - plots="$plots replot '$1' using 4:2:3 ti '$2';" + plots="$plots, '$1' using 4:2:3 ti '$2'" fi if [ "$dry_run" = "true" ]; then return; fi echo "# [$2] $3 ; count=$count" > "$res" @@ -91,9 +94,71 @@ set title "$1 ; avg. on $count-1 runs" set ylabel "time (s)" $plots END - echo "# gnuplot -p $1" - gnuplot -p "$1" plots= + + if test -n "$html"; then + echo "# gnuplot $1" + bn=`basename "$1" .gnu` + gnuplot -e "set term png; set output \"$bn.png\"" "$1" + echo gnuplot -e "set term png; set output \"$bn.png\"" "$1" + + echo >>"$html" "" + fi + if test -n "$DISPLAY"; then + echo "# gnuplot -p $1" + gnuplot -p "$1" + fi +} + +# Create a new $res to be used in the next plot +# +# $1 = resfile +# $2 = title +# $3 = description +function prepare_res_lines() +{ + echo + echo "# [$2] $3 #" + if test -n "$html"; then + echo >>"$html" "

[$2] $3 data

" + fi + res=$1 + if [ "$plots" = "" ]; then + plots="plot '$1' using 4 with lines ti '$2'" + else + plots="$plots, '$1' using 4 with lines ti '$2'" + fi + if [ "$dry_run" = "true" ]; then return; fi + echo "# [$2] $3 ; count=$count" > "$res" + echo "# first min max avg title" >> "$res" +} + +# Plot the last $res as a line graph +# $1: plot file (eg toto.gnu) +function plot_lines() +{ + cat >"$1" <>"$html" "" + fi + if test -n "$DISPLAY"; then + echo "# gnuplot -p $1" + gnuplot -p "$1" + fi } ## GLOBAL VARIABLES ## @@ -104,3 +169,5 @@ res= # The current stuff to plot (set by prepare_res, used by plot) plots= +# The name of the html file if output is set to html +html=