Наиболее подходящий язык / библиотека для сетевых приложений с низкой задержкой? - PullRequest
1 голос
/ 16 марта 2011

Я планирую проект, который требует быстрого (как можно более быстрого) доступа к TCP-серверу.Я тестировал Java с Netty и C ++ с BOOST.Проект требует многопоточности (если это влияет на какие-либо предложения).

В моих тестах (не всесторонних, но достаточных, чтобы обеспечить понимание), казалось бы, что серверы Java не так быстро реагируют, как те,написано на C или C ++.Это правда или моя реализация / настройка, скорее всего, неверна?

У меня также есть некоторый опыт в Objective C, и если бы это было правдоподобно, а получающееся в результате приложение было бы достаточно быстрым, написание сервера в Objective C было быбудьте великолепны, так как это язык, с которым у меня больше всего опыта.

Я знаю, что кто-то, скорее всего, ответит, сказав, что C - это, вероятно, лучший вариант для скорости, но есть ли существенные издержки при использовании языка OOP длясети?Кажется, что скорость сети была бы главным узким местом.

Спасибо всем, кто готов дать некоторый совет заинтригованному программисту:)

1 Ответ

1 голос
/ 16 марта 2011

Первая важная вещь для вас - это сосредоточиться на как вы проектируете свой сервер. Сказать, что это будет multithreaded, ничего нам не говорит. Имейте в виду, что multithreading далеко не является панацеей , в некоторых ситуациях многопоточность может быть даже вредной.

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

Большинство людей действительно скажут вам, что C ++ (или C) является языком выбора для вашей задачи, поскольку нет никаких ограничений и у вас есть прямой доступ ко всем функциям, которые предоставляет вам ОС, но все же - есть множество других Языки / рамки и выбор правильного инструмента зависит от деталей того, что именно вы хотите сделать

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