Я знаю, что это (несколько) переменная в зависимости от реализации и платформы, но в целом, какой самый быстрый метод межпроцессного взаимодействия в следующих 2 областях:
1) Оповещение других процессов
2) Обмен данными между процессами
Для предупреждения других процессов я протестировал семафоры boost :: interprocess и прерывания в стиле c, используя SIGUSR1 и SIGUSR2. Что меня удивило, так это то, что прерывания в стиле c были на самом деле медленнее, чем форсированные семафоры. Не уверен, что есть лучший способ сделать это, я, кажется, получаю времена в диапазоне 35 мкс для семафоров и в диапазоне 78 мкс для прерываний. Я могу опубликовать код, который я использовал, чтобы проверить это, если это удивительный результат.
Для обмена данными между процессами я использовал boost :: interprocess: shared_memory_objects. Кажется разумным быстро, но не уверен, что есть что-то лучше. Я не ищу точный ответ, а скорее направление, в котором можно проверить и посмотреть.
О, и я в первую очередь ищу ответы на Linux; если метод не работает на окнах, это нормально для меня.
Задача ещё не решена.