И колко по-бавно прави използването на cat във вашите команди? Това също е интересно, защото cat е една от първите команди, които хората научават в shell и в резултат на това може да се окаже, че по-късно я използват ненужно.
Нека разберем с много прост тест. По-долу съм включил резултати за извършване на едно и също нещо 4 пъти по 4 различни начина. По принцип получаваме уникален брой редове на файл с ~3 милиона реда.
Резултатите са:
- само използването на сортиране без cat и настройката LC_ALL=C е най-бързата и 14,5 по-бърза от най-бавната, която използва cat без LC_ALL=C
- използването на сортиране без cat и без LC_ALL=C е приблизително 3 пъти по-бавно, отколкото да се направи същото с cat
- използването на 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