много серверов хороших и разных
Добавлено: 24 апр 2012, 14:14
Это тема чисто программистская.
Это тема - продолжение того, что вспомнилось в viewtopic.php?f=9&t=1661#p3702:
Адаптация эта не прошла так гладко ... один вечер я уже убил на то, чтобы только добиться компиляции:
- там использована специфика использования счётчика процессорных тактов RDTSC как сверхточная шкала времени, а эти вещи в разных ОС выражены по-разному;
- в QNX есть (в API) такая сильная выдумка, как "динамический пул потоков" ... в Linux можно сделать такую же, при желании, или от одного из вариантов сервера отказаться;
- но нужно бы добавить к вариантам: последовательный сервер с очередью обслуживания - уже после опубликования первоначальной статьи мне много писали и обсуждали именно по этой части ... и оказывается, что такой последовательный сервер в конкретных ситуациях может быть оптимальнее параллельных, ... а в литературе о соображениях оптимальности производительности обсуждаются только параллельные сервера.
Так что тут есть над чем поиграться!
И решил я такую ревизию давней работы зафиксировать для себя в виде отдельной темы.
... поехали!
P.S. Первоначальную (давнюю) статью, от которой начинается вся пляска, лучше всего (по качеству редактирования) скачать на сайте журнала СТА - http://www.cta.ru/online/online_progr-nets.htm :
Это тема - продолжение того, что вспомнилось в viewtopic.php?f=9&t=1661#p3702:
Вот адаптация и проверка под Linux того, что было сделано под ОС QNX 10 лет назад - и есть эта тема.- Сервер TCP/IP... много серверов хороших и разных
...
P.S. удивило, что поиск по фразе "много серверов хороших и разных" показал, что статья эта за прошедшие годы растиражирована по интернет в десятках, если не сотнях экземпляров...
Адаптация эта не прошла так гладко ... один вечер я уже убил на то, чтобы только добиться компиляции:
- там использована специфика использования счётчика процессорных тактов RDTSC как сверхточная шкала времени, а эти вещи в разных ОС выражены по-разному;
- в QNX есть (в API) такая сильная выдумка, как "динамический пул потоков" ... в Linux можно сделать такую же, при желании, или от одного из вариантов сервера отказаться;
- но нужно бы добавить к вариантам: последовательный сервер с очередью обслуживания - уже после опубликования первоначальной статьи мне много писали и обсуждали именно по этой части ... и оказывается, что такой последовательный сервер в конкретных ситуациях может быть оптимальнее параллельных, ... а в литературе о соображениях оптимальности производительности обсуждаются только параллельные сервера.
Так что тут есть над чем поиграться!
И решил я такую ревизию давней работы зафиксировать для себя в виде отдельной темы.
... поехали!
P.S. Первоначальную (давнюю) статью, от которой начинается вся пляска, лучше всего (по качеству редактирования) скачать на сайте журнала СТА - http://www.cta.ru/online/online_progr-nets.htm :