Скорость межпотокового взаимодействия
От: Barbar1an Украина  
Дата: 14.04.18 09:21
Оценка:
делал ли ктото приложения под венды в которых юзер имел один процесс с гуи который взаимодестовал с другим процессом без гуя
и когда пользователь делал операцию какюуто в гуе, первый процесс связаывлся со вторым поулчал какито данные назад, которые сразу же отображались в гуе первого процесса

это все понятно дело делаолось через какойто интероп

мне интересно тут насколько вот быстро этот виндовский интероп работает, если нет операций с диском или сетью, то вот этот запрос-ответ будет происходить достаточно быстро чтобы юзер не почустовал никакого дископмфорта? наскока можно сделать это плавным?

с одной стороны мне кажется что мои опасения напрасны учитывая скорости совренеых цпу, с другой стороны в системе может быть много потоков и как там планировщик работает тоже неизвестно

и кста как на этот вопрос влияет мультиядерность?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re: Скорость межпотокового взаимодействия
От: Слава  
Дата: 14.04.18 09:27
Оценка:
Здравствуйте, Barbar1an, Вы писали:

B>мне интересно тут насколько вот быстро этот виндовский интероп работает, если нет операций с диском или сетью, то вот этот запрос-ответ будет происходить достаточно быстро чтобы юзер не почустовал никакого дископмфорта? наскока можно сделать это плавным?


А вы откройте гуглохром или файрфокс, поработайте в них. Там тот самый интероп, всё очень шустрое.
Re: Скорость межпотокового взаимодействия
От: Pzz Россия https://github.com/alexpevzner
Дата: 14.04.18 10:37
Оценка:
Здравствуйте, Barbar1an, Вы писали:

B>мне интересно тут насколько вот быстро этот виндовский интероп работает, если нет операций с диском или сетью, то вот этот запрос-ответ будет происходить достаточно быстро чтобы юзер не почустовал никакого дископмфорта? наскока можно сделать это плавным?


Чтобы юзер не почуствовал никакого дискомфорта, у тебя есть десятки миллисекунд. Это очень большое время, любой виндовсный механизм IPC сам по себе достаточно быст для этой цели.

B>с одной стороны мне кажется что мои опасения напрасны учитывая скорости совренеых цпу, с другой стороны в системе может быть много потоков и как там планировщик работает тоже неизвестно


Достаточно давно (во времена XP и одноядерных машин) у меня была задача, заключавшаяся в том, что моя программа принимает из сети видеопоток, а другой процесс его визуализирует.

Программе, которая занималась сетью, не нужно было много CPU, но ей не нравилось, если CPU у нее отнимают слишком надолго. Выяснилось, что активная экранная деятельность может отнять у всех процессор на сотни миллисекунд. Проблема решилась повышением приоритета соответствующего потока.

Кстати интересно, что линуксная версия той же самой программы на сравнимой по мощности машинке работала абсолютно гладко без всех этих ухищрений.
Re[2]: Скорость межпотокового взаимодействия
От: ononim  
Дата: 14.04.18 19:33
Оценка:
Pzz>Программе, которая занималась сетью, не нужно было много CPU, но ей не нравилось, если CPU у нее отнимают слишком надолго. Выяснилось, что активная экранная деятельность может отнять у всех процессор на сотни миллисекунд. Проблема решилась повышением приоритета соответствующего потока.
Погадаю: видеопоток прилетал по UDP, а увеличить ассоциированный с сокетом буфери приема setsockopt(..SO_RCVBUF... никто не догадался.

Pzz>Кстати интересно, что линуксная версия той же самой программы на сравнимой по мощности машинке работала абсолютно гладко без всех этих ухищрений.

А в линуксе наверное буфер по дефолту пожирней.
Как много веселых ребят, и все делают велосипед...
Re[3]: Скорость межпотокового взаимодействия
От: Pzz Россия https://github.com/alexpevzner
Дата: 14.04.18 20:02
Оценка:
Здравствуйте, ononim, Вы писали:

O>Погадаю: видеопоток прилетал по UDP, а увеличить ассоциированный с сокетом буфери приема setsockopt(..SO_RCVBUF... никто не догадался.


Не угадал

Pzz>>Кстати интересно, что линуксная версия той же самой программы на сравнимой по мощности машинке работала абсолютно гладко без всех этих ухищрений.

O>А в линуксе наверное буфер по дефолту пожирней.

Ну, кто ж там пользовался этим дефолтом...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.