時間がかかると言ったのは私だったのかもしれません。MapPoint の COM API はシングル スレッドです。複数のルートを並行して計算する方法は、複数の MapPoint をそれぞれ独自のスレッドで開始することです。
したがって、クアッド コアの場合、2 ~ 3 スレッドを開始します。各スレッドは独自の MapPoint を開始し、それをルーティングに使用します。コアごとに 1 つの MapPoint はありません。OS のオーバーヘッドと I/O のオーバーヘッドと同様に、単一の MapPoint がルートを計算するのを見ると、それ以降のバージョンは部分的に内部でマルチスレッド化されており、利用可能な場合は約 1.5 コアを使用できることがわかります。
注意すべき落とし穴もたくさんあります。MapPoint 独自のガベージ コレクションは、バッチ ルート計算用に最適化されていません。これに対する最も簡単な回避策は、各 MapPoint アプリケーションを定期的に (少なくとも 1 日に 1 回、おそらくもっと頻繁に) 再起動することです。
また、一部の操作 (File Open がメインのようです) は、複数の MapPoint から一度に呼び出すことができません。おそらく同じファイルを開こうとしているのでしょうが、これ以上調査していません。これを回避するには、独自のロック メカニズムを実装する必要があります。
Saurabh の .NET 4 に関するアドバイスは良さそうです。私はまだ .NET 4 のマルチスレッドを怒って使用したことがありません。私の MapPoint/.NET スレッドの経験は .NET 2 です。
あなたのアプリが何であるかはわかりませんが、ルートの距離/時間のバッチ計算にマルチプロセッサ MapPoint を使用する製品を販売していることをご存知でしたか... :-)