#!/bin/sh # # compute_executable_size LOCATION # # LOCATION: SableVM location (prefix) # # WORK_DIR=/tmp/sablevm_stripped if test x$1 = x ; then echo "Usage: compute_executable_size LOCATION" exit 1 fi mkdir $WORK_DIR cp $1/bin/sablevm-* $WORK_DIR for d in $1/lib/sablevm-* ; do cp $d/libsablevm-*.so $WORK_DIR/libsablevm-`basename $d`.so done #mkdir $WORK_DIR/stripped #cp $WORK_DIR/* $WORK_DIR/stripped #strip $WORK_DIR/stripped/* strip $WORK_DIR/* #cd $WORK_DIR for vm in switch direct inlined ; do # vm VM_SIZE=`wc -c $WORK_DIR/sablevm-$vm | cut -f1 -d'/'` LIB_SIZE=`wc -c $WORK_DIR/libsablevm-sablevm-$vm.so | cut -f1 -d'/'` VM_SIZE_JIT=`wc -c $WORK_DIR/sablevm-$vm-jit | cut -f1 -d'/'` LIB_SIZE_JIT=`wc -c $WORK_DIR/libsablevm-sablevm-$vm-jit.so | cut -f1 -d'/'` #echo "$VM_SIZE : $LIB_SIZE : $VM_SIZE_JIT : $LIB_SIZE_JIT" NOJIT_SUM=`expr $VM_SIZE + $LIB_SIZE` JIT_SUM=`expr $VM_SIZE_JIT + $LIB_SIZE_JIT` DIFF_SUM=`expr $JIT_SUM - $NOJIT_SUM` DIFF_RATIO=`echo "scale=1; -100 + 100 * $JIT_SUM / $NOJIT_SUM" | bc` echo "{\bf $vm } & $NOJIT_SUM & $JIT_SUM & $DIFF_SUM ($DIFF_RATIO\\%)\\\\\\hline" done