ni: fixed crash on empty class comment
[nit.git] / src / run_bench.sh
index 0baf409..1388d6c 100755 (executable)
@@ -129,7 +129,7 @@ function prepare_res()
                plots="$plots replot '$1' using 4:2:3 ti '$2';"
        fi
        if [ "$dry_run" = "true" ]; then return; fi
-       echo "# [$2] $3" > "$res"
+       echo "# [$2] $3 ; count=$count" > "$res"
        echo "# first min max avg title" >> "$res"
 }
 
@@ -147,7 +147,7 @@ set style fill solid 0.3 border -1;
 set bars front;
 set boxwidth 0.9;
 set xtic nomirror rotate by -45 scale 0 font ',8';
-set title "$1"
+set title "$1 ; avg. on $count-1 runs"
 set ylabel "time (s)"
 $plots
 END
@@ -208,7 +208,7 @@ function run_compiler()
        else
                run_command "$@" nitg.nit -o "nitg.$title.bin"
                bench_command "nitg" "nitg --no-cc nitstats.nit" "./nitg.$title.bin" -v --no-cc nitstats.nit
-               bench_command "nitg-s" "nitg --separate nitg.nit" "./nitg.$title.bin" -v --no--cc --separate nitg.nit
+               bench_command "nitg-s" "nitg --separate nitg.nit" "./nitg.$title.bin" -v --no-cc --separate nitg.nit
                run_command "$@" nit.nit -o "nit.$title.bin"
                bench_command "nit" "nit test_parser.nit rapid_type_analysis.nit" "./nit.$title.bin" -v test_parser.nit -- -n rapid_type_analysis.nit
                run_command "$@" ../examples/shoot/shoot_logic.nit -o "shoot.$title.bin"
@@ -354,7 +354,7 @@ function bench_nitg-s_options()
 bench_nitg-s_options "slower" --hardening --no-inline-intern --generic-resolution-tree --no-union-attribute --no-shortcut-equal --no-shortcut-range
 bench_nitg-s_options "nocheck" --no-check-covariance --no-check-initialization --no-check-assert --no-check-autocast --no-check-other
 bench_nitg-s_options "faster" --inline-coloring-numbers
-bench_nitg-s_options "typing" --bm-typing --phmod-typing --phand-typing
+bench_nitg-s_options "typing" --bm-typing --phand-typing --phmod-typing
 
 function bench_nitg-e_options()
 {
@@ -380,14 +380,14 @@ function bench_nitg-e_options()
 bench_nitg-e_options "slower" --hardening --no-inline-intern --no-union-attribute --no-shortcut-equal --no-shortcut-range
 bench_nitg-e_options "nocheck" --no-check-covariance --no-check-initialization --no-check-assert --no-check-autocast --no-check-other --no-check-erasure-cast
 bench_nitg-e_options "faster" --inline-coloring-numbers
-bench_nitg-e_options "typing" --bm-typing --phmod-typing --phand-typing
+bench_nitg-e_options "typing" --bm-typing --phand-typing --phmod-typing
 
 function bench_nitc_gc()
 {
        name="$FUNCNAME"
        skip_test "$name" && return
        for gc in nitgc boehm malloc large; do
-               prepare_res "$name-$gc".dat "$gc" "nitc with gc=$gc"
+               prepare_res "$name-$gc.dat" "$gc" "nitc with gc=$gc"
                export NIT_GC_OPTION="$gc"
                run_compiler "nitc" ./nitc_3 -O
        done
@@ -481,11 +481,11 @@ function bench_policy()
        skip_test "$name" && return
        prepare_res "$name-nitg-s.dat" "nitg-s" "nitg with --separate"
        run_compiler "nitg-s" ./nitg --separate
-       prepare_res "$name-nitg-su" "nitg-su" "nitg with --separate --no-check-covariance"
-       run_compiler "nitg-su" ./nitg --separate --no-check-covariance
        prepare_res "$name-nitg-e.dat" "nitg-e" "nitg with --erasure"
        run_compiler "nitg-e" ./nitg --erasure
-       prepare_res "$name-nitg-eu" "nitg-eu" "nitg with --erasure --no-check-covariance --no-check-erasure-cast"
+       prepare_res "$name-nitg-su.dat" "nitg-su" "nitg with --separate --no-check-covariance"
+       run_compiler "nitg-su" ./nitg --separate --no-check-covariance
+       prepare_res "$name-nitg-eu.dat" "nitg-eu" "nitg with --erasure --no-check-covariance --no-check-erasure-cast"
        run_compiler "nitg-eu" ./nitg --erasure --no-check-covariance --no-check-erasure-cast
        plot "$name.gnu"
 }
@@ -542,6 +542,18 @@ function bench_typetest_languages()
                bench_command "$b" "" java "${t}_$b" $s
        done
 
+       prepare_res "$name-scala.dat" "scala" "scala"
+       for b in $seq; do
+               run_command scalac ${t}_$b.scala
+               bench_command "$b" "" scala "${t}_$b" $s
+       done
+
+       prepare_res "$name-cs.dat" "c#" "c#"
+       for b in $seq; do
+               run_command gmcs ${t}_$b.cs
+               bench_command "$b" "" mono "${t}_$b.exe" $s
+       done
+
        prepare_res "$name-es.dat" "es" "es"
        for b in $seq; do
                run_command ec -clean -finalize ${t}_$b/app${t}_$b.e