Lors de la sélection de votre IPC, vous devez prendre en compte les causes des différences de performances, notamment la taille des tampons de transfert, les mécanismes de transfert de données, les schémas d'allocation de mémoire, les implémentations de mécanismes de verrouillage et même la complexité du code.
Parmi les mécanismes IPC disponibles, le choix des performances se résume souvent aux sockets de domaine Unix ou aux canaux nommés (FIFO). J'ai lu un article sur l'analyse des performances de divers mécanismes de communication inter-processus qui indique que les sockets de domaine Unix pour IPC peuvent fournir les meilleures performances. J'ai vu des résultats contradictoires ailleurs qui indiquent que les tuyaux pourraient être meilleurs.
Lors de l'envoi de petites quantités de données, je préfère les tubes nommés (FIFO) pour leur simplicité. Cela nécessite une paire de canaux nommés pour la communication bidirectionnelle. Les sockets de domaine Unix prennent un peu plus de temps à configurer (création de socket, initialisation et connexion), mais sont plus flexibles et peuvent offrir de meilleures performances (débit plus élevé).
Vous devrez peut-être exécuter des tests de performance pour votre application/environnement spécifique afin de déterminer ce qui fonctionnera le mieux pour vous. D'après la description fournie, il semble que les sockets de domaine Unix soient les mieux adaptés.
Guide de Beej sur Unix IPC est bon pour démarrer avec Linux/Unix IPC.
J'opterais pour les sockets de domaine Unix :moins de surcharge que les sockets IP (c'est-à-dire pas de communication entre les machines) mais la même commodité sinon.