[#3] Simplify demo and benchmark
No need to build everything every time and no need to do it in docker. Signed-off-by: Stanislav Bogatyrev <s.bogatyrev@yadro.com>
This commit is contained in:
parent
a5347ee68e
commit
3a7bdcc020
3 changed files with 39 additions and 38 deletions
35
auto.sh
35
auto.sh
|
@ -1,35 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
B="\033[0;1m"
|
||||
G="\033[0;92m"
|
||||
R="\033[0m"
|
||||
|
||||
echo -e "${B}${G}Let's make some hash${R}"
|
||||
|
||||
echo -e "\n${B}${G} - cleanup environment${R}"
|
||||
echo -e "remove files: small.hash, large.hash, large.txt"
|
||||
docker exec -it hash-demo sh -c "rm -rf small.hash"
|
||||
docker exec -it hash-demo sh -c "rm -rf large.hash"
|
||||
docker exec -it hash-demo sh -c "rm -rf large.txt"
|
||||
|
||||
echo -e "\n${B}${G} - make large file (concat small files)${R}"
|
||||
for i in $(seq -f "%02g" 10)
|
||||
do
|
||||
echo " #> cat $i.txt >> large.txt"
|
||||
docker exec -it hash-demo sh -c "cat $i.txt >> large.txt"
|
||||
done
|
||||
|
||||
echo -e "\n${B}${G} - make hash of small files${R}"
|
||||
for i in $(seq -f "%02g" 10)
|
||||
do
|
||||
echo -e " #> homo -file $i.txt | tee -a small.hash"
|
||||
docker exec -it hash-demo sh -c "homo -file $i.txt | tee -a small.hash"
|
||||
done
|
||||
|
||||
echo -e "\n${B}${G} - make hash of large${R}"
|
||||
echo -e " #> homo -file large.txt | homo -concat"
|
||||
docker exec -it hash-demo sh -c 'homo -file large.txt | homo -concat'
|
||||
|
||||
echo -e "\n${B}${G} - make hash of pieces${R}"
|
||||
echo -e " #> cat small.hash | homo -concat"
|
||||
docker exec -it hash-demo sh -c 'cat small.hash | homo -concat '
|
|
@ -5,10 +5,8 @@ OUT="${OUT:-$(mktemp /tmp/random-file.XXXXXX)}"
|
|||
|
||||
dd if=/dev/urandom of="$OUT" bs="$BLOCK_SIZE" count=1
|
||||
|
||||
go build ./cmd/tzsum || exit 1
|
||||
|
||||
for impl in avx avx2 generic; do
|
||||
echo $impl implementation:
|
||||
time ./tzsum -name "$OUT" -impl $impl
|
||||
time ./bin/tzsum -name "$OUT" -impl $impl
|
||||
echo
|
||||
done
|
38
demo.sh
Executable file
38
demo.sh
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
#set -x
|
||||
|
||||
BLOCK_SIZE=${1:-100M} # 100Mb by default
|
||||
TMPDIR="${TMPDIR:-$(mktemp -d)}"
|
||||
|
||||
OUT="${OUT:-"${TMPDIR}/bighash"}"
|
||||
|
||||
echo "Preparing big file at ${OUT}..."
|
||||
dd if=/dev/urandom of="$OUT" bs="$BLOCK_SIZE" count=1
|
||||
|
||||
echo "Make 4 smaller parts from ${OUT}..."
|
||||
split -dn 4 "${OUT}" "${TMPDIR}/"
|
||||
|
||||
echo -n "Big file hash: "
|
||||
TZALL=$(./bin/tzsum -impl avx2 -name "${OUT}" | awk '{print $1}')
|
||||
echo "${TZALL}"
|
||||
|
||||
for i in $(seq -f "%02g" 0 3)
|
||||
do
|
||||
echo -n "Part ${i} hash: "
|
||||
PART=$(./bin/tzsum -impl avx2 -name "${TMPDIR}/${i}" | awk '{print $1}')
|
||||
echo "${PART}" | tee -a "${TMPDIR}/part.hashes"
|
||||
done
|
||||
|
||||
echo -n "Cumulative: "
|
||||
TZCUM=$(./bin/homo -concat -file "${TMPDIR}/part.hashes")
|
||||
echo "${TZCUM}"
|
||||
|
||||
if [[ "$TZCUM" == "$TZALL" ]]; then
|
||||
echo "Original and cumulative hashes are equal!"
|
||||
else
|
||||
echo "Original and cumulative hashes are NOT equal!"
|
||||
fi
|
||||
|
||||
echo -ne "Cleaning up .. "
|
||||
rm -rf "${TMPDIR}"
|
||||
echo "Done!"
|
Loading…
Reference in a new issue