Ситуация:
Есть Windows. Есть некий протокол обмена сообщениями по TCP типа запрос ответ. Запрос порядка 512 байт. Ответ порядка 32К. Есть клиент и сервер. Клиент коннектится к серверу и начинает слать сообщения. Сервер обрабатывает сообщения строго последовательно одно после другого и его поведение мы изменить не можем.
На клиенте по одному соединение одновременно могут работать несколько потоков. Каждый поток работает по следующему алгоритму. Ставит свой запрос в очередь потока отправки и "садиться" ждать на событие. Поток отправки крутиться в цикле и последовательно отправляет запросы. Поток приема получает ответы, смотрит какому из потоков пришел ответ, копирует данные и пробуждает нужный клиенский поток.
Сейчас:
— скорость обработки одного запроса сервером порядка 0.0001
— скорость посылки и привема клиента порядка 0.001
Посоветуйте пожалуста можно как-то ускорить алгоритм работы клиета? Например как-нибудь отказаться от потоков отправки? Хотелось бы улучшить скорость на клиенте и попытаться сравнять со скоростью сервера. Кто — что может посоветовать?