ポートスキャナを作っているのですが、もっと速度を出したいと思います。

やり方としては一番稚拙な、堂々とTCPでconnectしてみる方法なのですが、
listenしていないポートにconnectしようとしてWSAECONNREFUSEDになる場合で、
LAN上のリモートホストで1200回/秒、ローカルホストで1700回/秒くらいです。
CPU使用率が100%になっており、CPUがネックのようです。

socketで作ったソケットに対して、
WSAAsyncSelectでFD_CONNECTを指定し、
connectしています。

メッセージは、MFCのウィンドウプロシージャで受けとって、
MFCのメッセージディスパッチで結果をチェックする関数を呼んでいます。

もっと速い方法はあるでしょうか。