Bash - przykład użycia tablicy asocjacyjnej

Go to start of metadata
#1)
time cut -d'"' -f 2 access_2016_11_02_11_00.log | sort |uniq -c > przej.txt
#2)
declare -A assoc
while IFS='!'  read -r -a array
do
   assoc["${array[@]:1:1}"]="${array[@]:2:2}"
done < MostCommonUserAgents32.csv
 
#3)
for key in "${!assoc[@]}"
do
   echo "${key} ---> ${assoc[${key}]}"
echo -e "\n"
done
 
#4)
#przej.txt
#for key in przej.txt
#do
#    echo "${key} ---> ${assoc[${key}]}"
#echo -e "\n"
#done
 
#5)
rm wynik.txt
 
#6)
while read line
do
   number=$(echo "$line" cut -d ' ' -f2-)
   if "${assoc[${number}]}" ]
   then
       echo "$(echo "$line" | cut -d ' ' -f1)  ${assoc[${number}]}" >> wynik.txt
   else
       echo "$line" >> wynik.txt
   fi
done < przej.txt
#7)
sort -nk1 wynik.txt

Porównanie szybkości programów obliczających sumy kontrolne

Używając programu AIDE (Advanced Intrusion Detection Environment) http://aide.sourceforge.net/ przeprowadziłem testy wykazujące różnice w czasie obliczania sumy kontrolnej, a konkretnie sum kontrolnych, dla około 230 tyś. plików. Posortowane wyniki:
  1. haval - 142 s
  2. tiger - 144 s
  3. md5 - 150 s
  4. CRC32 - 170 s
  5. sha1 - 180 s
  6. rmd160 196 s
  7. whirpool - 408 s
  8. ghost - 669 s
Przy wyborze najlepszego rozwiązania biorę pod uwagę oprócz wydajności, jeszcze "pewność rozwiązania". Dlatego wolę używać bardziej uznane algorytmy w powszechnie wykorzystywanej implementacji, zamiast może szybszych, ale gorzej przetestowanych rozwiązań. Najczęściej używam sha1, CRC32, md5.



********

Więcej informacji:
Informatyka, FreeBSD, Debian


***

Inne wpisy:



Update: 2018.07.17
Create: 2018.07.17

Sposób szacowania ilości operacji zmiennoprzecinkowych na sekundę dla CPU

Przykładowy procesor:
i7-3740QM CPU   @ 2.70GHz (Ivy Bridge)
Procesor wykonuje 16 operacji zmiennoprzecinkowych pojedynczej precyzji, co wynika z:
16 SP FLOPs/cycle:  8-wide AVX addition + 8-wide AVX multiplication 
Szacujemy wydajnosć SP Flops:
1 x 4 x 2,7 x 16 = 172 GFLOPS = 0,172 TFLOPS
(jeden procesor fizyczny) x (cztery rdzenie bez HT) x (częstotliwość w GHz) x (ilość operacji na cykl zegarowy)


********

Więcej informacji:
Informatyka, FreeBSD, Debian


***

Inne wpisy:



Update: 2018.07.17
Create: 2018.07.17