python — межпроцессное взаимодействие с использованием физических текстовых файлов

Я читаю финансовые данные от моего брокера в режиме реального времени через API веб-сокета. Клиент написан на Python. У меня есть другая программа на C ++, которая читает эти данные, но я общаюсь со скриптом Python через физический текстовый файл.

Мои вопросы …

1) Влияет ли постоянная перезапись текстового файла, его открытие, чтение и закрытие каждый раз на производительность? Если так, что может быть лучше? Производительность в моем приложении имеет решающее значение.

2) Будет ли лучше использовать именованные каналы? Или это почти так же, как запись и чтение в текстовом файле?

1

Решение

Современные ОС поддерживают множество разных IPC. Каналы, именованные каналы, сокеты, файлы с отображением в памяти, … Выбор того или иного решения очень зависит от вашего приложения. Но в общем и целом все они должны быть «лучше», чем использование простого старого файла.

Поскольку IPC являются объектами, управляемыми ОС, они не зависит от языка, используемого для написания различных процессов. Некоторые IPC имеют семантику файлов (каналы, именованные каналы). Другие требуют использования какого-то выделенного системного примитива (mmap). Но C ++ и Python (и многие другие языки) будут поддерживать необходимый системный вызов. На самом деле, МПК являются отличный чтобы помочь программам, написанным на разных языках, говорить вместе.

4

Другие решения


По вопросам рекламы [email protected]