mirror of https://github.com/svaarala/duktape.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
2.0 KiB
44 lines
2.0 KiB
8 years ago
|
#!/bin/sh
|
||
|
|
||
|
MERGECOUNT=100
|
||
|
|
||
|
rm -rf /tmp/duk-graph
|
||
|
mkdir /tmp/duk-graph
|
||
|
cd /tmp/duk-graph || exit 1
|
||
|
echo "Working in: `pwd`"
|
||
|
git clone https://github.com/svaarala/duktape.git
|
||
|
cd /tmp/duk-graph/duktape || exit 1
|
||
|
|
||
|
for sha in `git log -n $MERGECOUNT --merges --oneline --decorate=no | cut -f 1 -d ' '`; do
|
||
|
cd /tmp/duk-graph/duktape || exit 1
|
||
|
echo $sha
|
||
|
git describe
|
||
|
git reset --hard
|
||
|
git clean --force
|
||
|
git checkout $sha
|
||
|
|
||
|
make clean
|
||
|
rm -rf ./prep; mkdir ./prep
|
||
|
python tools/configure.py --output ./prep --option-file config/examples/low_memory.yaml
|
||
|
|
||
|
rm -f ./prep/hello
|
||
|
gcc -o ./prep/hello -std=c99 -Wall -Os -fomit-frame-pointer -flto -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -I./prep ./prep/duktape.c examples/hello/hello.c -lm
|
||
|
size ./prep/hello | grep prep/hello | awk '/.*/ { print $4 }' >> /tmp/duk-graph/sizes-x64.txt
|
||
|
|
||
|
rm -f ./prep/hello
|
||
|
gcc -o ./prep/hello -std=c99 -Wall -Os -fomit-frame-pointer -flto -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -m32 -I./prep ./prep/duktape.c examples/hello/hello.c -lm
|
||
|
size ./prep/hello | grep prep/hello | awk '/.*/ { print $4 }' >> /tmp/duk-graph/sizes-x86.txt
|
||
|
|
||
|
rm -f ./prep/hello
|
||
|
gcc -o ./prep/hello -std=c99 -Wall -Os -fomit-frame-pointer -flto -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -mx32 -I./prep ./prep/duktape.c examples/hello/hello.c -lm
|
||
|
size ./prep/hello | grep prep/hello | awk '/.*/ { print $4 }' >> /tmp/duk-graph/sizes-x32.txt
|
||
|
|
||
|
rm -rf ./prep
|
||
|
done
|
||
|
|
||
|
cat /tmp/duk-graph/sizes-x64.txt | tac | gnuplot -p -e 'set term png; set output "/tmp/duk-graph-size-x64.png"; set xlabel "merge"; set ylabel "bytes"; plot "/dev/stdin" with lines'
|
||
|
cat /tmp/duk-graph/sizes-x86.txt | tac | gnuplot -p -e 'set term png; set output "/tmp/duk-graph-size-x86.png"; set xlabel "merge"; set ylabel "bytes"; plot "/dev/stdin" with lines'
|
||
|
cat /tmp/duk-graph/sizes-x32.txt | tac | gnuplot -p -e 'set term png; set output "/tmp/duk-graph-size-x32.png"; set xlabel "merge"; set ylabel "bytes"; plot "/dev/stdin" with lines'
|
||
|
|
||
|
ls -l /tmp/duk-graph-*.png
|