mirror of
https://github.com/nineties/planckforth
synced 2024-12-26 21:58:42 +01:00
32 lines
699 B
Bash
Executable file
32 lines
699 B
Bash
Executable file
#!/bin/bash
|
|
|
|
TARGETS="i386-linux-handwritten c"
|
|
TIMEFORMAT='%U'
|
|
function benchmark () {
|
|
sum=0
|
|
for i in `seq $2`; do
|
|
t=`{ eval $1; } 2>&1`
|
|
sum=`echo $t + $sum | bc`
|
|
done
|
|
average=`echo "scale=3; $sum / $2" | bc | xargs printf "%.3f"`
|
|
echo $average
|
|
}
|
|
|
|
function bootstrap {
|
|
time ./planck < bootstrap.fs benchmark/nop.fs 2>&1 > /dev/null
|
|
}
|
|
|
|
function generate-table {
|
|
echo "## $1"
|
|
echo
|
|
echo "| implementation | sec |"
|
|
echo "|:---------------|----:|"
|
|
for impl in $TARGETS; do
|
|
make $impl 2>&1 > /dev/null
|
|
t=`benchmark $2 $3`
|
|
echo "| $impl | $t |"
|
|
done
|
|
}
|
|
|
|
echo "# Benchmarks"
|
|
generate-table "Bootstrap Time" bootstrap 5
|