Я помню, что в одной книге о языке ассемблера автор утверждал, что, если это возможно, следует избегать, если это возможно. Это намного медленнее, если условие ложно, и выполнение должно перейти к другой линии, что значительно замедляет производительность. Кроме того, поскольку программы выполняются в машинный код, я думаю, что «if» медленнее на каждом (скомпилированном) языке, если его условие не истинно почти все время.
Для этого вам не нужна система (3)
. Попробуйте popen (3)
и друзья.
Что делают grep и wc, читают дескриптор файла STDIN как часть канала | оператор.