Я погоджуся з shodanex, схоже, ви передчасно намагаєтеся оптимізувати щось, що поки не є проблематичним. Якщо ви не знаєте, що розетки стануть вузьким місцем, я б просто скористався ними.
Багато людей, які клянуться названими трубами, знаходять невелику економію (залежно від того, наскільки добре написано все інше), але закінчуються кодом, який витрачає більше часу на блокування відповіді IPC, ніж на корисну роботу. Звичайно, це допомагають неблокуючі схеми, але вони можуть бути складними. Витрачаючи роки, приводячи старий код у сучасну епоху, можу сказати, у більшості випадків, які я бачив, швидкість майже нульова.
Якщо ви дійсно думаєте, що розетки будуть гальмувати вас, тоді вийдіть за ворота, використовуючи спільну пам'ять, уважно ставлячись до того, як ви використовуєте блокування. Знову ж таки, у всій актуальності ви можете виявити невелику швидкість, але зауважте, що ви витрачаєте частину на неї, очікуючи блокування взаємного виключення. Я не збираюся виступати за подорож до пекла футекс (ну, вже не зовсім пекло у 2015 році, залежно від вашого досвіду).
Фунт за фунт, сокети - це (майже) завжди найкращий спосіб пошуку IPC користувачів під монолітним ядром .. і (як правило) найпростішим налагодженням та підтримкою.
pipe(2)
(ermkfifo(3)
,?) може бути переможцем, але ви не знаєте, поки не спробуєте.