mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
41 lines
718 B
Bash
Executable File
41 lines
718 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Produces a .tar file (if one doesn't exist as $TARFILE), then
|
|
# times how long it takes to untar it onto the current directory.
|
|
#
|
|
TARFILE=${TARFILE:=/var/tmp/bench.tar.gz}
|
|
|
|
barf()
|
|
{
|
|
echo $@ >2
|
|
exit 1
|
|
}
|
|
|
|
new_tar()
|
|
{
|
|
source="bin sbin lib"
|
|
if [ ! -f $TARFILE ]; then
|
|
( cd / && tar czf $TARFILE $source ) || barf "tar cz failed"
|
|
fi
|
|
}
|
|
|
|
run_tar()
|
|
{
|
|
# %U=user %S=system %E=elapsed
|
|
mkdir ./tar || exit 1
|
|
size=`ls -Llh $TARFILE | awk '{print $5}'`
|
|
time=`/usr/bin/time -f '%U, %S, %E' tar xzf $TARFILE 2>&1`
|
|
status=$?
|
|
cd ..
|
|
rm -fr ./tar
|
|
[ $status -eq 0 ] || exit 1
|
|
printf "%6s, %s\n" "$size" "$time"
|
|
}
|
|
|
|
if [ $# -gt 0 ]; then
|
|
printf "%6s,%5s,%5s,%8s\n" sz usr sys real
|
|
exit 0
|
|
fi
|
|
new_tar
|
|
run_tar
|