И колко по-бавно прави използването на cat във вашите команди? Това също е интересно, защото cat е една от първите команди, които хората научават в shell и в резултат на това може да се окаже, че по-късно я използват ненужно.

Нека разберем с много прост тест. По-долу съм включил резултати за извършване на едно и също нещо 4 пъти по 4 различни начина. По принцип получаваме уникален брой редове на файл с ~3 милиона реда.

Резултатите са:

  1. само използването на сортиране без cat и настройката LC_ALL=C е най-бързата и 14,5 по-бърза от най-бавната, която използва cat без LC_ALL=C
  2. използването на сортиране без cat и без LC_ALL=C е приблизително 3 пъти по-бавно, отколкото да се направи същото с cat
  3. използването на cat със или без LC_ALL=C е почти същото

Ето данните за справка:

time LC_ALL=C sort -u fetch.temp | wc -l

реално 0m 0,624 s
потребител 0m 1,027 s
sys 0m 0,252 s

time sort -u fetch.temp | wc -l

реално 0m 3,342 s
потребител 0m 9,197 s
sys 0m 0,264 s

time cat fetch.temp | sort -u | wc -l

реално 0m 9.352 s
потребител 0m 8.970 s
sys 0m 0.638 s

time LC_ALL=C cat fetch.temp | sort -u | wc -l

реално 0m 9.378 s
потребител 0m 8.926 s
sys 0m 0.707 s