profiling: add ls.bash
This commit is contained in:
parent
1d919d01fd
commit
688373c926
39
profiling/ls.bash
Executable file
39
profiling/ls.bash
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash -eu
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Download /tmp/linux-3.0.tar.gz
|
||||
../tests/dl-linux-tarball.bash
|
||||
|
||||
T=$(mktemp -d)
|
||||
mkdir $T/a $T/b
|
||||
|
||||
../gocryptfs -init -quiet -scryptn 10 -extpass "echo test" $T/a
|
||||
../gocryptfs -quiet -extpass "echo test" $T/a $T/b
|
||||
|
||||
# Cleanup trap
|
||||
trap "cd /; fusermount -u -z $T/b; rm -Rf $T/a" EXIT
|
||||
|
||||
echo "Creating 40000 empty files (linux-3.0.tar.gz contains 36782 files)..."
|
||||
SECONDS=0
|
||||
for dir in $(seq -w 1 200); do
|
||||
mkdir $T/b/$dir
|
||||
( cd $T/b/$dir ; touch $(seq -w 1 200) )
|
||||
done
|
||||
echo "done, $SECONDS seconds"
|
||||
|
||||
echo "Remount..."
|
||||
fusermount -u $T/b
|
||||
../gocryptfs -quiet -extpass "echo test" -cpuprofile $T/cprof -memprofile $T/mprof \
|
||||
$T/a $T/b
|
||||
|
||||
echo "Running ls under profiler (3x)..."
|
||||
for i in 1 2 3; do
|
||||
SECONDS=0
|
||||
ls -lR $T/b > /dev/null
|
||||
echo "$i done, $SECONDS seconds"
|
||||
done
|
||||
|
||||
echo
|
||||
echo "Hint: go tool pprof ../gocryptfs $T/cprof"
|
||||
echo " go tool pprof -alloc_space ../gocryptfs $T/mprof"
|
Loading…
Reference in New Issue
Block a user