Я хочу передавать между процессами данные. Что-то вроде сокетов или имнованых потоков: один прроцесс пишет данные, другой — читает.
Как это лучше всего реализовать с точки зрения производительности, если поток данных достаточно приличный?
Здравствуйте, Аноним, Вы писали:
А>Я хочу передавать между процессами данные. Что-то вроде сокетов или имнованых потоков: один прроцесс пишет данные, другой — читает. А>Как это лучше всего реализовать с точки зрения производительности, если поток данных достаточно приличный?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: поток данных
От:
Аноним
Дата:
17.09.11 23:45
Оценка:
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Аноним, Вы писали:
А>>Я хочу передавать между процессами данные. Что-то вроде сокетов или имнованых потоков: один прроцесс пишет данные, другой — читает. А>>Как это лучше всего реализовать с точки зрения производительности, если поток данных достаточно приличный?
Ops>http://msdn.microsoft.com/en-us/library/aa365780%28v=VS.85%29.aspx
Да, pipes подходят.
У меня вопрос не в том "как это сделать", а в том "какая реализация самая быстрая"
А>У меня вопрос не в том "как это сделать", а в том "какая реализация самая быстрая"
если идет плотный обмен данными между двумя потоками — shared memory + SignalObjectAndWait/event-ы + насильно посадить оба потока на один и тот же процессор при помощи affiity mask
Как много веселых ребят, и все делают велосипед...
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Ops, Вы писали:
Ops>>Здравствуйте, Аноним, Вы писали:
А>>>Я хочу передавать между процессами данные. Что-то вроде сокетов или имнованых потоков: один прроцесс пишет данные, другой — читает. А>>>Как это лучше всего реализовать с точки зрения производительности, если поток данных достаточно приличный?
Ops>>http://msdn.microsoft.com/en-us/library/aa365780%28v=VS.85%29.aspx
А>Да, pipes подходят. А>У меня вопрос не в том "как это сделать", а в том "какая реализация самая быстрая"
PD>Undocumented, однако. PD>А кстати, кто-нибудь замерял, действительно ли быстрее mmf ?
Я мерял, правда давно. Получалось не быстрее того, что я описал выше. У LPC впрочем есть другие готовые полезные плюшки — доступ к серверу по "имени", impersonation.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>А кстати, кто-нибудь замерял, действительно ли быстрее mmf ?
Да как бы не с чего ему быть быстрее правильно реализованного обмена через MMF.
LPC использует COM для маршалинга локальных межпроцессных вызовов, так что умрёт она разве что вместе с COM.
PD>А кстати, кто-нибудь замерял, действительно ли быстрее mmf ?
При измерении в user mode разница в пределах погрешности. Но LPC, как уже сказал ononim, идёт в пакете с бесплатными бонусами
Здравствуйте, Jolly Roger, Вы писали:
PD>>Undocumented, однако.
JR>LPC использует COM для маршалинга локальных межпроцессных вызовов, так что умрёт она разве что вместе с COM.
Вообще-то да. И, более того, едва ли MS начнет там что-то менять, так как при этом пришлось бы слишком многое переделывать. И все же — кто знает ? Решились же они в свое время на переделку таблицы хендлов процесса.
With best regards
Pavel Dvorkin
Re[6]: поток данных
От:
Аноним
Дата:
18.09.11 14:47
Оценка:
Здравствуйте, Jolly Roger, Вы писали:
JR>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Jolly Roger, Вы писали:
JR>>>LPC