|
@@ -65,17 +65,17 @@ _gen() {
|
|
|
_suite_tests() {
|
|
_suite_tests() {
|
|
|
if [[ "${do_x}" = "1" ]]; then
|
|
if [[ "${do_x}" = "1" ]]; then
|
|
|
printf "\n==== X Baseline ====\n"
|
|
printf "\n==== X Baseline ====\n"
|
|
|
- go test -tags x -v
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -tags x -v
|
|
|
else
|
|
else
|
|
|
printf "\n==== Baseline ====\n"
|
|
printf "\n==== Baseline ====\n"
|
|
|
- go test -v
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -v
|
|
|
fi
|
|
fi
|
|
|
if [[ "${do_x}" = "1" ]]; then
|
|
if [[ "${do_x}" = "1" ]]; then
|
|
|
printf "\n==== X Generated ====\n"
|
|
printf "\n==== X Generated ====\n"
|
|
|
- go test -tags "x generated" -v
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -tags "x generated" -v
|
|
|
else
|
|
else
|
|
|
printf "\n==== Generated ====\n"
|
|
printf "\n==== Generated ====\n"
|
|
|
- go test -tags "generated" -v
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -tags "generated" -v
|
|
|
fi
|
|
fi
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -93,7 +93,7 @@ _suite_any() {
|
|
|
if [[ "$g" = "g" ]]; then a=( "generated" "generated safe"); fi
|
|
if [[ "$g" = "g" ]]; then a=( "generated" "generated safe"); fi
|
|
|
for i in "${a[@]}"; do
|
|
for i in "${a[@]}"; do
|
|
|
echo ">>>> bench TAGS: 'alltests $x $i' SUITE: $b"
|
|
echo ">>>> bench TAGS: 'alltests $x $i' SUITE: $b"
|
|
|
- go test -tags "alltests $x $i" -bench "$b" -benchmem "$@"
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -tags "alltests $x $i" -bench "$b" -benchmem "$@"
|
|
|
done
|
|
done
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -103,7 +103,7 @@ _suite_any() {
|
|
|
# for i in "${a[@]}"
|
|
# for i in "${a[@]}"
|
|
|
# do
|
|
# do
|
|
|
# echo ">>>> bench TAGS: '$t $i' SUITE: BenchmarkCodecXSuite"
|
|
# echo ">>>> bench TAGS: '$t $i' SUITE: BenchmarkCodecXSuite"
|
|
|
-# go test -tags "$t $i" -bench BenchmarkCodecXSuite -benchmem "$@"
|
|
|
|
|
|
|
+# go test "${zargs[@]}" -tags "$t $i" -bench BenchmarkCodecXSuite -benchmem "$@"
|
|
|
# done
|
|
# done
|
|
|
# }
|
|
# }
|
|
|
|
|
|
|
@@ -113,7 +113,7 @@ _suite_any() {
|
|
|
# for i in "${b[@]}"
|
|
# for i in "${b[@]}"
|
|
|
# do
|
|
# do
|
|
|
# echo ">>>> bench TAGS: '$t $i' SUITE: BenchmarkCodecXGenSuite"
|
|
# echo ">>>> bench TAGS: '$t $i' SUITE: BenchmarkCodecXGenSuite"
|
|
|
-# go test -tags "$t $i" -bench BenchmarkCodecXGenSuite -benchmem "$@"
|
|
|
|
|
|
|
+# go test "${zargs[@]}" -tags "$t $i" -bench BenchmarkCodecXGenSuite -benchmem "$@"
|
|
|
# done
|
|
# done
|
|
|
# }
|
|
# }
|
|
|
|
|
|
|
@@ -123,26 +123,26 @@ _suite_any() {
|
|
|
# for i in "${a[@]}"
|
|
# for i in "${a[@]}"
|
|
|
# do
|
|
# do
|
|
|
# echo ">>>> bench TAGS: '$t $i' SUITE: BenchmarkCodecQuickAllJsonSuite"
|
|
# echo ">>>> bench TAGS: '$t $i' SUITE: BenchmarkCodecQuickAllJsonSuite"
|
|
|
-# go test -tags "$t $i" -bench BenchmarkCodecQuickAllJsonSuite -benchmem "$@"
|
|
|
|
|
|
|
+# go test "${zargs[@]}" -tags "$t $i" -bench BenchmarkCodecQuickAllJsonSuite -benchmem "$@"
|
|
|
# done
|
|
# done
|
|
|
# }
|
|
# }
|
|
|
|
|
|
|
|
# _suite_very_quick_json() {
|
|
# _suite_very_quick_json() {
|
|
|
# # Quickly get numbers for json, stdjson, jsoniter and json (codecgen)"
|
|
# # Quickly get numbers for json, stdjson, jsoniter and json (codecgen)"
|
|
|
# echo ">>>> very quick json bench"
|
|
# echo ">>>> very quick json bench"
|
|
|
-# go test -tags "alltests x" -bench "__(Json|Std_Json|JsonIter)__" -benchmem "$@"
|
|
|
|
|
|
|
+# go test "${zargs[@]}" -tags "alltests x" -bench "__(Json|Std_Json|JsonIter)__" -benchmem "$@"
|
|
|
# echo
|
|
# echo
|
|
|
-# go test -tags "alltests codecgen" -bench "__Json____" -benchmem "$@"
|
|
|
|
|
|
|
+# go test "${zargs[@]}" -tags "alltests codecgen" -bench "__Json____" -benchmem "$@"
|
|
|
# }
|
|
# }
|
|
|
|
|
|
|
|
_suite_very_quick_json_via_suite() {
|
|
_suite_very_quick_json_via_suite() {
|
|
|
# Quickly get numbers for json, stdjson, jsoniter and json (codecgen)"
|
|
# Quickly get numbers for json, stdjson, jsoniter and json (codecgen)"
|
|
|
echo ">>>> very quick json bench"
|
|
echo ">>>> very quick json bench"
|
|
|
local prefix="BenchmarkCodecVeryQuickAllJsonSuite/json-all-bd1......../"
|
|
local prefix="BenchmarkCodecVeryQuickAllJsonSuite/json-all-bd1......../"
|
|
|
- go test -tags "alltests x" -bench BenchmarkCodecVeryQuickAllJsonSuite -benchmem "$@" |
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -tags "alltests x" -bench BenchmarkCodecVeryQuickAllJsonSuite -benchmem "$@" |
|
|
|
sed -e "s+^$prefix++"
|
|
sed -e "s+^$prefix++"
|
|
|
echo "---- CODECGEN RESULTS ----"
|
|
echo "---- CODECGEN RESULTS ----"
|
|
|
- go test -tags "x generated" -bench "__(Json|Easyjson)__" -benchmem "$@"
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -tags "x generated" -bench "__(Json|Easyjson)__" -benchmem "$@"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
_suite_very_quick_json_non_suite() {
|
|
_suite_very_quick_json_non_suite() {
|
|
@@ -150,11 +150,11 @@ _suite_very_quick_json_non_suite() {
|
|
|
echo ">>>> very quick json bench"
|
|
echo ">>>> very quick json bench"
|
|
|
for j in "En" "De"; do
|
|
for j in "En" "De"; do
|
|
|
echo "---- codecgen ----"
|
|
echo "---- codecgen ----"
|
|
|
- # go test -tags "generated" -bench "__(Json|Easyjson)__.*${j}" -benchmem "$@"
|
|
|
|
|
- go test -tags "x generated" -bench "__(Json|Easyjson)__.*${j}" -benchmem "$@"
|
|
|
|
|
|
|
+ # go test "${zargs[@]}" -tags "generated" -bench "__(Json|Easyjson)__.*${j}" -benchmem "$@"
|
|
|
|
|
+ go test "${zargs[@]}" -tags "x generated" -bench "__(Json|Easyjson)__.*${j}" -benchmem "$@"
|
|
|
echo "---- no codecgen ----"
|
|
echo "---- no codecgen ----"
|
|
|
- # go test -tags "" -bench "__(Json|Std_Json|JsonIter)__.*${j}" -benchmem "$@"
|
|
|
|
|
- go test -tags "x" -bench "__(Json|Std_Json|JsonIter)__.*${j}" -benchmem "$@"
|
|
|
|
|
|
|
+ # go test "${zargs[@]}" -tags "" -bench "__(Json|Std_Json|JsonIter)__.*${j}" -benchmem "$@"
|
|
|
|
|
+ go test "${zargs[@]}" -tags "x" -bench "__(Json|Std_Json|JsonIter)__.*${j}" -benchmem "$@"
|
|
|
echo
|
|
echo
|
|
|
done
|
|
done
|
|
|
}
|
|
}
|
|
@@ -165,7 +165,7 @@ _suite_very_quick_json_only_profile() {
|
|
|
Json|Cbor|Msgpack|Simple|Binc) a="${1}"; shift ;;
|
|
Json|Cbor|Msgpack|Simple|Binc) a="${1}"; shift ;;
|
|
|
esac
|
|
esac
|
|
|
local b="${1}"
|
|
local b="${1}"
|
|
|
- go test -tags "alltests" -bench "__${a}__.*${b}" \
|
|
|
|
|
|
|
+ go test "${zargs[@]}" -tags "alltests" -bench "__${a}__.*${b}" \
|
|
|
-benchmem -benchtime 4s \
|
|
-benchmem -benchtime 4s \
|
|
|
-cpuprofile cpu.out -memprofile mem.out -memprofilerate 1
|
|
-cpuprofile cpu.out -memprofile mem.out -memprofilerate 1
|
|
|
}
|
|
}
|
|
@@ -188,18 +188,21 @@ _main() {
|
|
|
_usage
|
|
_usage
|
|
|
return 1
|
|
return 1
|
|
|
fi
|
|
fi
|
|
|
|
|
+ local zargs=("-count" "1")
|
|
|
local args=()
|
|
local args=()
|
|
|
local do_x="0"
|
|
local do_x="0"
|
|
|
- while getopts "dcbsjqpgtx" flag
|
|
|
|
|
|
|
+ while getopts "dcbsjqpgtxkl" flag
|
|
|
do
|
|
do
|
|
|
case "$flag" in
|
|
case "$flag" in
|
|
|
- d|c|b|s|j|q|p|g|t|x) args+=( "$flag" ) ;;
|
|
|
|
|
|
|
+ d|c|b|s|j|q|p|g|t|x|k|l) args+=( "$flag" ) ;;
|
|
|
*) _usage; return 1 ;;
|
|
*) _usage; return 1 ;;
|
|
|
esac
|
|
esac
|
|
|
done
|
|
done
|
|
|
shift "$((OPTIND-1))"
|
|
shift "$((OPTIND-1))"
|
|
|
|
|
|
|
|
[[ " ${args[*]} " == *"x"* ]] && do_x="1"
|
|
[[ " ${args[*]} " == *"x"* ]] && do_x="1"
|
|
|
|
|
+ [[ " ${args[*]} " == *"k"* ]] && zargs+=("-gcflags" "all=-B")
|
|
|
|
|
+ [[ " ${args[*]} " == *"l"* ]] && zargs+=("-gcflags" "all=-l=4")
|
|
|
[[ " ${args[*]} " == *"d"* ]] && _go_get "$@"
|
|
[[ " ${args[*]} " == *"d"* ]] && _go_get "$@"
|
|
|
[[ " ${args[*]} " == *"c"* ]] && _gen "$@"
|
|
[[ " ${args[*]} " == *"c"* ]] && _gen "$@"
|
|
|
[[ " ${args[*]} " == *"b"* ]] && _suite_any - - BenchmarkCodecSuite "$@" | _suite_trim_output
|
|
[[ " ${args[*]} " == *"b"* ]] && _suite_any - - BenchmarkCodecSuite "$@" | _suite_trim_output
|