Коллеги! Господа!
Занимался ли кто-нибудь сравнением производительности и областей применения различных способов межпроцессного взаимодействия?
Под "производительностью" здесь понимается "perfomance", эффективность обработки запросов и пропускная способность данного канала IPC.
Имеются в виду прежде всего messages, mailslots, named pipes, memory-mapped files, sockets.
Понятно, что:
сообщения — локально, малый размер передаваемых данных;
слоты — асинхронные уведомления, причем только односторонне;
сокеты — сеть.
Интересует в разрезе эффективного общения между собственно сервером и клиентами.
коммуникационными демонами-транспортами в рамках одной машины.
Характер взаимодействия: сервер, возможно statefull, работающий в режиме запрос-ответ и коммуникационные демоны-транспорты.
Клиенты общаются с демонами реализующий транспорт, демоны с сервером.
Объемы передаваемых данных — сравнимы с траффиком SQL и/или HTTP серверов. Ответы много больше запросов.
Мейлслоты отпадают. Сокеты в данном случае излишне, к тому же это будет одним из транспортом.

В основном, я думаю, выбор сводится к сравнению named pipes и memory mapped files.
PS.
http://www.rsdn.ru/article/?baseserv/ipc.xmlАвтор(ы): Алекс Jenter
Дата: 10.03.2001
Обзор основных технологий IPC: Очень многим приложениям, если не большей части, требуется
информация от других приложений, либо они должны эту информацию сообщать.
Именно поэтому в операционную систему встраивается множество механизмов,
которые обеспечивают т.н. Interproccess Communication (IPC) — то есть
межпроцессное взаимодействие...
прочитан и ответа на вопрос не дает, тк представляет лишь обзор возможных методов.