Linux,MacOSXなら速いのに・・・.
そういうときは,TCP_NODELAYを疑う.

int on = 1;
setsockopt( sock, SOL_SOCKET, SO_REUSEADDR, (void *) &on, sizeof(on));
setsockopt( sock, IPPROTO_TCP, TCP_NODELAY, (void *) &on, sizeof(on));

これでおk.
SO_REUSEADDRは,関係ないけど,書いておいた.