@@ -42,9 +42,10 @@ source "${repo_root}/scripts/common.sh"
42
42
# shellcheck source=scripts/common_cmdline.sh
43
43
source " ${repo_root} /scripts/common_cmdline.sh"
44
44
45
- (( $# <= 1 )) || fail " Too many arguments. Usage: external.sh [<solc-path>]"
45
+ (( $# <= 2 )) || fail " Too many arguments. Usage: external.sh [<solc-path>] [<num-repeats >]"
46
46
47
47
solc=" ${1:- ${SOLIDITY_BUILD_DIR} / solc/ solc} "
48
+ num_repeats=" ${2:- 1} "
48
49
command_available " $solc " --version
49
50
command_available " $( type -P time) " --version
50
51
@@ -65,10 +66,10 @@ function benchmark_project {
65
66
> /dev/null \
66
67
2> " ../stderr-${project} -${pipeline} .log" || true
67
68
68
- printf ' | %-21s | %8s | %6d s | %9d MiB | %9d |\n' \
69
+ printf ' | %-21s | %8s | %6.2f s | %9d MiB | %9d |\n' \
69
70
" $project " \
70
71
" $pipeline " \
71
- " $( jq ' (.user + .sys) | round' " $time_file " ) " \
72
+ " $( jq ' (.user + .sys) * 100 | round / 100 ' " $time_file " ) " \
72
73
" $( jq ' .mem / 1024 | round' " $time_file " ) " \
73
74
" $( jq ' .exit' " $time_file " ) "
74
75
cd ..
@@ -96,8 +97,12 @@ echo "| File | Pipeline | Time | Memory (peak) | Exit code
96
97
echo " |-----------------------|----------|---------:|--------------:|----------:|"
97
98
98
99
for project in " ${benchmarks[@]} " ; do
99
- benchmark_project legacy " $project "
100
- benchmark_project ir " $project "
100
+ for (( i= 0 ; i< num_repeats; i++ )) ; do
101
+ benchmark_project legacy " $project "
102
+ done
103
+ for (( i= 0 ; i< num_repeats; i++ )) ; do
104
+ benchmark_project ir " $project "
105
+ done
101
106
done
102
107
103
108
for project in " ${benchmarks[@]} " ; do
0 commit comments