В настоящее время я работаю над довольно большим однопоточным, основанным на событиях приложением, разработанным для epoll под Linux и сравнимыми технологиями под другими платформами.В настоящее время, когда мы хотим, чтобы два экземпляра общались, они обычно делают это через сокеты, независимо от того, работают они на одной машине или нет.По соображениям производительности я предполагаю использование какой-либо формы IPC для ускорения связи на одной машине.Теперь мне нужно решить, какой механизм IPC использовать.
Для меня важны следующие факторы:
- управляемый событиями, без полного изменения - если механизм IPC не работаетДля epoll это не очень хорошо, для меня потрачены месяцы работы
- быстро - если этот механизм не быстрее сокетов, не стоит тратить время на его реализацию
- гибкий и (пере)настраивается во время выполнения - я считаю, что это исключает MPI & al
- многопоточность не требуется.
Я готов использовать разные механизмы для разных платформ, если тольковсе они используют одну и ту же парадигму.Я также готов проникнуть настолько глубоко, насколько это необходимо, в C / C ++ / Obj-C для привязки к платформе.
Любое предложение?
Спасибо.