add: assigment 2

This commit is contained in:
Kiana Sheibani 2025-10-06 23:27:46 -04:00
parent 3a0b8a5c3f
commit 32a6e07e56
Signed by: toki
GPG key ID: 6CB106C25E86A9F7
11 changed files with 437 additions and 0 deletions

33
assignment2/part3/test Executable file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
echo "Building executables..."
cd "${FLAKE:-$(dirname $0)}"
if command -v nix; then
producer="$(nix build --no-link --print-out-paths .#a2-p3-producer)/bin/producer"
consumer="$(nix build --no-link --print-out-paths .#a2-p3-consumer)/bin/consumer"
else
gcc producer.c -o producer
gcc consumer.c -o consumer
producer="./producer"
consumer="./consumer"
fi
seq 1 10000000 >large.txt
echo -e "\nTEST - Buffer size 1024"
"$producer" -b 1024 -f large.txt | "$consumer" &
kill -USR1 "$(pidof consumer)"
wait "$(jobs -rp)"
echo -e "\nTEST - Buffer size 4096"
"$producer" -b 4096 -f large.txt | "$consumer" &
kill -USR1 "$(pidof consumer)"
wait "$(jobs -rp)"
echo -e "\nTEST - Buffer size 16384"
"$producer" -b 16384 -f large.txt | "$consumer" &
kill -USR1 "$(pidof consumer)"
wait "$(jobs -rp)"
rm large.txt