Проработав в инвестиционных банках почти 30 лет. Я написал много приложений, как это. Вероятно, основная проблема, которую вам необходимо решить, - это не производительность в реальном времени, а задержка и пропускная способность.
Задержка в этом контексте касается сокращения сетевых задержек, и выбор языка не очень важен.
Пропускная способность - это большая вычислительная мощность, поддерживаемая в течение длительных периодов времени, тогда как производительность - очень большая вычислительная мощность в течение коротких периодов времени. Хотя выбор языка в этом контексте важнее, чем с задержкой, он обычно не так критичен, как вы думаете.
Из этих двух обычно лучше сначала спроектировать с минимально возможной задержкой. Проблемы пропускной способности могут быть решены позже при разработке с помощью различных приемов, но избавиться от высокой задержки, запекшейся в существующей конструкции, гораздо сложнее.
Так что я хотел бы использовать C # как на клиенте, так и на сервере, по крайней мере, для проверки концепции. Нет необходимости вводить дополнительную сложность (другой язык) для решения проблемы, которая вряд ли будет важной.
РЕДАКТИРОВАТЬ : я заметил, что вы отредактировали свой вопрос, сказав, что серверу необходимо обрабатывать до 100 КБ сообщений не более чем за 1 секунду. Я сомневаюсь, что вы можете достичь этого с помощью программного обеспечения, но вы можете сделать это, используя комбинацию программного и аппаратного обеспечения .
Если вам действительно нужен этот уровень низкой задержки (а я никогда не нуждался в этом в течение 30 лет в бизнесе), то опять же выбор языка не так важен, как наличие очень высокой пропускной способности вместе с супер оптимизированный и распараллеленный алгоритм. Но я бы сначала поставил под сомнение требование увидеть, что они на самом деле значат - держу пари, что это не то, что они сказали.