lib/serialization: add README.md
[nit.git] / benchmarks / bench_engines.sh
index 6b43e55..442f7bd 100755 (executable)
@@ -57,7 +57,8 @@ function run_compiler()
                bench_command "nitc-g" "nitc --global --no-cc ../src/nitls.nit" "./nitc.$title.bin" -v --global --no-cc ../src/nitls.nit
                bench_command "nitc-s" "nitc --separate ../src/nitc.nit" "./nitc.$title.bin" -v --no-cc --separate ../src/nitc.nit
                run_command "$@" ../src/nit.nit -o "nit.$title.bin"
-               bench_command "nit" "nit ../src/test_parser.nit ../src/nitls.nit" "./nit.$title.bin" -v ../src/test_parser.nit -- -n ../src/nitls.nit
+               bench_command "nit-queens" "nit queens.nit 8" "./nit.$title.bin" ../lib/ai/examples/queens.nit -q 8
+               bench_command "nit-nitcc" "nit nitcc.nit calc.sablecc" "./nit.$title.bin" ../contrib/nitcc/src/nitcc.nit ../contrib/nitcc/examples/calc.sablecc
                run_command "$@" ../src/nitdoc.nit -o "nitdoc.$title.bin"
                rm -r out 2> /dev/null
                mkdir out 2> /dev/null
@@ -72,6 +73,8 @@ function run_compiler()
                bench_command "queens" "bench_queens 13" "./queens.$title.bin" 13
                run_command "$@" "../lib/ai/examples/puzzle.nit" -o "puzzle.$title.bin"
                bench_command "puzzle" "puzzle 15-hard" "./puzzle.$title.bin" kleg.mondcafjhbi
+               run_command "$@" "markdown/engines/nitmd/nitmd.nit" -o "nitmd.$title.bin"
+               bench_command "nitmd" "markdown" "./nitmd.$title.bin" markdown/benches/out/mixed.md 80
        fi
 
        rm -r *.bin .nit_compile out
@@ -119,6 +122,11 @@ fi
 # get the bootstrapped nitc
 cp ../bin/nitc .
 
+if test -z "$fast"; then
+       make -C markdown/benches
+       make -C ../contrib/nitcc
+fi
+
 ## EFFECTIVE BENCHS ##
 
 function bench_steps()
@@ -331,6 +339,44 @@ function bench_compilation_time
 }
 bench_compilation_time
 
+function bench_linkboost()
+{
+       name="$FUNCNAME"
+       skip_test "$name" && return
+       prepare_res "$name-nitc-st.dat" "nitc-st" "nitc with --separate --trampoline-call"
+       run_compiler "nitc-st" ./nitc --separate --trampoline-call
+       prepare_res "$name-nitc-s.dat" "nitc-s" "nitc with --separate"
+       run_compiler "nitc-s" ./nitc --separate
+       prepare_res "$name-nitc-sc.dat" "nitc-sc" "nitc with --separate --colors-are-symbols"
+       run_compiler "nitc-sc" ./nitc --separate --colors-are-symbols
+       prepare_res "$name-nitc-sct.dat" "nitc-sct" "nitc with --separate --colors-are-symbols --trampoline-call"
+       run_compiler "nitc-sct" ./nitc --separate --colors-are-symbols --trampoline-call
+       prepare_res "$name-nitc-sl.dat" "nitc-sl" "nitc with --separate --link-boost"
+       run_compiler "nitc-scts" ./nitc --separate --link-boost
+       prepare_res "$name-nitc-scgc.dat" "nitc-scgc" "nitc with --separate --colors-are-symbols --guard-call"
+       run_compiler "nitc-scgc" ./nitc --separate --colors-are-symbols --guard-call
+       prepare_res "$name-nitc-scd.dat" "nitc-scd" "nitc with --separate --colors-are-symbols --direct-call-monomorph0"
+       run_compiler "nitc-scd" ./nitc --separate --colors-are-symbols --direct-call-monomorph0
+       plot "$name.gnu"
+}
+bench_linkboost
+
+function bench_call_monomorph()
+{
+       name="$FUNCNAME"
+       skip_test "$name" && return
+       prepare_res "$name-nitc.dat" "nitc" "nitc with --separate"
+       run_compiler "nitc" ./nitc
+       prepare_res "$name-nitc-d0.dat" "nitc-d0" "nitc with --separate --direct-call-monomorph0"
+       run_compiler "nitc-d0" ./nitc --direct-call-monomorph0
+       prepare_res "$name-nitc-d1.dat" "nitc-d" "nitc with --separate --direct-call-monomorph"
+       run_compiler "nitc-d1" ./nitc --direct-call-monomorph
+       prepare_res "$name-nitc-d2.dat" "nitc-d2" "nitc with --separate --direct-call-monomorph2"
+       run_compiler "nitc-d2" ./nitc --direct-call-monomorph --direct-call-monomorph0
+       plot "$name.gnu"
+}
+bench_call_monomorph
+
 if test -n "$html"; then
        echo >>"$html" "</body></html>"
 fi