Дело из разряда наблюдений: andrey@silverblood (~/Programs/test)$ cat test_c.c #include <stdio.h> char line[1000]; int main() { FILE *fp = fopen("test_file", "r"); while(!feof(fp)) { fgets(line, sizeof(line), fp); printf("%s", line); } fclose(fp); } andrey@silverblood (~/Programs/test)$ cat test_bash.sh #!/bin/bash while read -r line; do echo "$line" done < test_file andrey@silverblood (~/Programs/test)$ file test_file test_file: ISO-8859 English text andrey@silverblood (~/Programs/test)$ gcc test_c.c -o test_c andrey@silverblood (~/Programs/test)$ time ./test_c > /dev/null real 0m0.005s user 0m0.004s sys 0m0.001s andrey@silverblood (~/Programs/test)$ time ./test_bash.sh > /dev/null real 0m0.751s user 0m0.194s sys 0m0.050s andrey@silverblood (~/Programs/test)$ wc -l test_file 5330 test_file andrey@silverblood (~/Programs/test)$ т.е. имеем разницу 751 / 5 ~= 150 раз по производительности при обработке текстовых файлов. А ведь некоторые утилиты - это баш-скрипты, которые работают с текстом...