Я успешно включил параметр SIO_LOOPBACK_FAST_PATH в Windows 10, хотя информации о том, поддерживает ли его Windows 10, не так много. Вот некоторая информация о функции link1 link2
У меня есть базовый TCP-сервер и клиент, использующий API send () / recv (), который можно настроить для использования столько потоков, сколько я хочу.
Теперь вот результаты теста, я получаю одни и те же соотношения независимо от того, сколько потоков я использую для теста, но для ясности я использовал 8 отправляющих и 8 принимающих потоков для результатов ниже. Работал на I7-4770K, при этом все тесты потребляли 100% ЦП, как сообщил диспетчер задач.
HyperThreading Off (4 логических ядра)
SIO_LOOPBACK_FAST_PATH включен: 140K пакетов в секунду
SIO_LOOPBACK_FAST_PATH отключено: 210K пакетов в секунду
HyperThreading On (8 логических ядер)
SIO_LOOPBACK_FAST_PATH включен: 140K пакетов в секунду
SIO_LOOPBACK_FAST_PATH отключено: 80K пакетов в секунду
Почему этот тест с включенной HyperThreading медленнее, чем без него? И почему этот тест выполняет ПОМЕДЛЕННЕЕ когда HyperThreading отключен и опция включена. Я весьма озадачен результатами, так как опция улучшает скорость при включенном HT, но не когда HT выключен, а также озадачен гиперпоточностью, полностью отражающей результаты.
Задача ещё не решена.