Пересобрал MSVCшные нативные сокеты с помощью MinGW, чтобы исключить разницу в оптимизации компиляторов. В итоге все приложения собраны с помощью g++ 4.4.0. Закомментировал отключение алгоритма Nagle, т.к. в нативном примере их отключения нет. Пока результаты такие.
MinGW Native:
Duration is: 4 min
CPU Load: 36% (18% client, 18% server)
Qt:
Duration is: 28 min
CPU Load: 60% (30% client, 30% server)
Qt Client <-> Server Native:
Duration is: 17 min
CPU Load: 55% (50% Client, 5% server)
Qt Server <-> Client Native:
Duration is: 14 min
CPU Load: 55% (10% Client, 45% Server)
Кстати алгоритм выбран неудачно, т.к. скорость скачивания и загрузки падает до минимального значения. Думаю надо переписать клиент и сервер, чтобы они не слали данные в виде ответа на полученные данные от клиента.