Повышение производительности в C

Я разрабатываю программу, которую планирую реализовать на C, и у меня есть вопрос о том, как лучше всего (с точки зрения производительности) вызывать внешние программы. Пользователь собирается предоставить моей программе имя файла, а затем моя программа будет запускать другую программу с этим файлом в качестве входных данных. Затем моя программа будет обрабатывать вывод другой программы.

Мой типичный подход - перенаправить вывод другой программы в файл, а затем заставить мою программу прочитать этот файл, когда это будет сделано. Однако я понимаю, что операции ввода-вывода довольно дороги, и я хотел бы сделать эту программу как можно более эффективной.

Я немного поискал и нашел команду popen для запуска системных команд. и захват вывода. Как производительность этого подхода сравнивается с производительностью подхода, который я только что описал? popen просто записывает вывод внешней программы во временный файл или сохраняет вывод программы в памяти?

В качестве альтернативы, есть ли другой способ сделать это, чтобы повысить производительность?

5
задан Daniel Standage 10 February 2011 в 15:21
поделиться