aboutsummaryrefslogtreecommitdiff
path: root/profiling/streaming-read.bash
blob: df75c680decd3be72558003affa3be70d3801b22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash -eu

cd "$(dirname "$0")"

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

# Write 100MB test file
dd if=/dev/zero of=$T/b/zero bs=1M count=100 status=none

# Remount with profiling
fusermount -u  $T/b
../gocryptfs -quiet -extpass "echo test" -cpuprofile $T/cprof -memprofile $T/mprof \
	$T/a $T/b

# Read 10 x 100MB instead of 1 x 1GB to keep the used disk space low
for i in $(seq 1 10); do
	dd if=$T/b/zero of=/dev/null bs=1M count=100
done

echo
echo "Hint: go tool pprof ../gocryptfs $T/cprof"
echo "      go tool pprof -alloc_space ../gocryptfs $T/mprof"