days 11/16: remove faulty use of external command (seq)

This commit is contained in:
2021-07-30 19:21:16 +02:00
parent 9c60bd6d12
commit 92cc3e90c4
8 changed files with 34 additions and 34 deletions

View File

@@ -256,21 +256,21 @@ ex2-c : size=99 res=113387824750592
+++++++++++++++++ ex1
ex1.bash : res=2386
time: 0:40.81 real, 40.25 user, 0.07 sys
context-switch: 6828+17, page-faults: 0+1317
time: 0:33.55 real, 33.12 user, 0.42 sys
context-switch: 179+18, page-faults: 0+1948
ex1-c : res=2386
time: 0:00.03 real, 0.00 user, 0.00 sys
context-switch: 1+2, page-faults: 0+91
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+90
+++++++++++++++++ ex2
ex2.bash : res=2091
time: 1:19.37 real, 78.72 user, 0.08 sys
context-switch: 9445+14, page-faults: 0+1717
time: 1:08.60 real, 68.56 user, 0.02 sys
context-switch: 530+10, page-faults: 0+1480
ex2-c : res=2091
time: 0:00.04 real, 0.02 user, 0.00 sys
context-switch: 2+2, page-faults: 0+91
time: 0:00.01 real, 0.01 user, 0.00 sys
context-switch: 6+1, page-faults: 0+90
=========================================
================= day12 =================
@@ -366,21 +366,21 @@ ex1-c : res[30000000]=548531
+++++++++++++++++ ex1
ex1.bash : res=21996
time: 0:00.23 real, 0.16 user, 0.03 sys
context-switch: 19+99, page-faults: 0+9381
time: 0:00.14 real, 0.11 user, 0.02 sys
context-switch: 12+120, page-faults: 0+7974
ex1-c : res=21996
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+71
context-switch: 0+1, page-faults: 0+76
+++++++++++++++++ ex2
ex2.bash : res=650080463519
time: 0:06.58 real, 6.54 user, 0.04 sys
context-switch: 662+95, page-faults: 0+10210
context-switch: 201+114, page-faults: 0+8893
ex2-c : res=650080463519
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+71
context-switch: 0+1, page-faults: 0+74
=========================================
================= day17 =================

View File

@@ -1,16 +1,16 @@
ex1.bash : res=2386
time: 0:41.94 real, 41.86 user, 0.03 sys
context-switch: 4503+14, page-faults: 0+1329
time: 0:33.55 real, 33.12 user, 0.42 sys
context-switch: 179+18, page-faults: 0+1948
ex1-c : res=2386
time: 0:00.01 real, 0.01 user, 0.00 sys
context-switch: 1+1, page-faults: 0+91
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+90
ex2.bash : res=2091
time: 1:20.09 real, 80.00 user, 0.03 sys
context-switch: 8232+13, page-faults: 0+1721
time: 1:08.60 real, 68.56 user, 0.02 sys
context-switch: 530+10, page-faults: 0+1480
ex2-c : res=2091
time: 0:00.01 real, 0.01 user, 0.00 sys
context-switch: 2+1, page-faults: 0+91
context-switch: 6+1, page-faults: 0+90

View File

@@ -107,7 +107,8 @@ NROWS=${#rowsstr[@]}
#echo "L=$RLENGTH N=$NROWS"
# add floor rows at beginning and end
printf -v floor '%0.s0 ' $(seq 1 $((RLENGTH+2)))
printf -v floor '%0.s0 ' $(eval "echo {1..$((RLENGTH+2))}")
#echo floor="$floor"
#echo floor="$floor"
#echo

View File

@@ -84,8 +84,7 @@ done
NCOLS=${#rowsstr[0]}
NROWS=${#rowsstr[@]}
printf -v zeroed '%0.s0 ' $(seq 1 $(((NCOLS+2)*(NROWS+2))))
printf -v zeroed '%0.s0 ' $(eval "echo {1..$(((NCOLS+2)*(NROWS+2)))}")
# split arrays in integers
for ((r=0; r<NROWS; ++r)); do

View File

@@ -162,7 +162,7 @@ NCOLS=${#rowsstr[0]}
NROWS=${#rowsstr[@]}
SIZE=$((NCOLS * NROWS))
printf -v zeroed '%0.s0 ' $(seq 1 $SIZE)
printf -v zeroed '%0.s0 ' $(eval "echo {1.. $SIZE}")
# split arrays in integers
for ((r=0; r<NROWS; ++r)); do

View File

@@ -1,17 +1,18 @@
cc -w -O3 ex1-c.c -o ex1-c
ex1.bash : res=21996
time: 0:00.23 real, 0.16 user, 0.03 sys
context-switch: 19+99, page-faults: 0+9381
time: 0:00.14 real, 0.11 user, 0.02 sys
context-switch: 12+120, page-faults: 0+7974
ex1-c : res=21996
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+71
context-switch: 0+1, page-faults: 0+76
cc -w -O3 ex2-c.c -o ex2-c
ex2.bash : res=650080463519
time: 0:06.58 real, 6.54 user, 0.04 sys
context-switch: 662+95, page-faults: 0+10210
context-switch: 201+114, page-faults: 0+8893
ex2-c : res=650080463519
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+71
context-switch: 0+1, page-faults: 0+74

View File

@@ -10,8 +10,8 @@ declare -i state=0 res=0
while read -r line; do
if [[ $line =~ ^([a-z :]+)([0-9]+)-([0-9]+)([a-z ]+)([0-9]+)-([0-9]+)$ ]]; then
n1=$(seq "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}")
n2=$(seq "${BASH_REMATCH[5]}" "${BASH_REMATCH[6]}")
n1=$(eval "echo {${BASH_REMATCH[2]}..${BASH_REMATCH[3]}}")
n2=$(eval "echo {${BASH_REMATCH[5]}..${BASH_REMATCH[6]}}")
for i in $n1 $n2; do
VALID[$i]=1
done

View File

@@ -13,9 +13,8 @@ while read -r line; do
if [[ $line =~ ^([a-z ]+)\:\ ([0-9]+)-([0-9]+)([a-z ]+)([0-9]+)-([0-9]+)$ ]]; then
# valid ranges
keys[$curkey]="${BASH_REMATCH[1]}"
n1=$(seq -s" " "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}")
n2=$(seq -s" " "${BASH_REMATCH[5]}" "${BASH_REMATCH[6]}")
n1=$(eval "echo {${BASH_REMATCH[2]}..${BASH_REMATCH[3]}}")
n2=$(eval "echo {${BASH_REMATCH[5]}..${BASH_REMATCH[6]}}")
for i in $n1 $n2; do
valid[$i]=1
done