Производительность при выполнении процесса из другого процесса - PullRequest
0 голосов
/ 17 января 2020

У меня есть приложение, которое выполняет процесс преобразования из входных данных, его размер составляет около 100-150 КБ, и возвращает JSON.

Это приложение (написано в C) используется другое приложение (написано в nodejs). У меня такой вопрос, при условии высокой степени использования, даже одновременной, какой вариант обеспечивает лучшую производительность?

  • , передавая ввод и вывод через файловую систему (входной файл и генерирует выходной файл)
  • прохождение ввода и вывода через stdin и stdout соответственно

В настоящее время я разработал его на основе второго варианта, но у меня есть сомнения относительно производительности.

Заранее спасибо.

1 Ответ

1 голос
/ 17 января 2020

Трудно быть уверенным, что будет быстрее. Это может зависеть от типа файловой системы, характеристик производительности устройства хранения, того, как приложения записывают и читают данные ... и других вещей.

В любом случае, моя интуиция что разница в производительности между этими двумя подходами не будет значительной.

Мой совет будет:

  1. Продолжайте использовать ваш текущий подход.
  2. Когда у вас это работает измерение производительности.
  3. Если производительность приемлемо , остановитесь: у вас есть рабочее решение.
  4. Если производительность нет приемлемо , реализуйте другой подход и посмотрите, не быстрее ли он.

(я не думаю, что будет много усилий для реализации обоих подходов и их тестирования, но усилие есть усилие, и не стоит тратить усилия на оптимизацию чего-то, что не требует для оптимизации.)

...