mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 14:24:45 +00:00
30 lines
834 B
Bash
Executable file
30 lines
834 B
Bash
Executable file
#!/bin/bash
|
|
|
|
if [[ -z "$1" || -z "$2" ]]
|
|
then
|
|
echo "$0 needs 2 arguments: the directories to compare"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
OVERHEAD_BYTES=114 # total file size minus generated code size (test wrapper + module headers)
|
|
|
|
|
|
printf "filename \tLHS\tRHS\tchange\n"
|
|
printf "======== \t===\t===\t======\n"
|
|
|
|
for f in `ls $1/wasm`
|
|
do
|
|
if [[ ! -f "$2/wasm/$f" ]]
|
|
then
|
|
echo "$f found in $1/wasm but not in $2/wasm"
|
|
continue
|
|
fi
|
|
SIZE1=$(stat --format '%s' "$1/wasm/$f")
|
|
SIZE2=$(stat --format '%s' "$2/wasm/$f")
|
|
CHANGE=$(( $SIZE2 - $SIZE1 ))
|
|
NET_SIZE1=$(( $SIZE1 - $OVERHEAD_BYTES ))
|
|
NET_SIZE2=$(( $SIZE2 - $OVERHEAD_BYTES ))
|
|
PERCENT_CHANGE=$(( $CHANGE * 100 / $NET_SIZE1 ))
|
|
printf "%s\t%d\t%d\t%d\t%d%%\n" $f $NET_SIZE1 $NET_SIZE2 $CHANGE $PERCENT_CHANGE
|
|
done
|