compare.sh 539 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env bash
  2. if [ $# -eq 1 ]
  3. then
  4. basename=`echo $1 | sed 's/.b$//'`
  5. else
  6. basename=_tmp
  7. cat > ${basename}.b
  8. fi
  9. mytime () {
  10. (`which time` -f %e $1 > /dev/null) 2>&1
  11. }
  12. compile () {
  13. echo -n "compiling $1... "
  14. t=`mytime "make -s $basename-$1"`
  15. echo "took $t seconds"
  16. }
  17. set -e
  18. compile plain
  19. compile opt
  20. compile c
  21. compile nayuki
  22. echo "plain: `mytime ./$basename-plain`"
  23. echo "opt: `mytime ./$basename-opt`"
  24. echo "c: `mytime ./$basename-c`"
  25. echo "nayuki: `mytime ./$basename-nayuki`"
  26. rm -f _tmp*