OK、プログラムはほぼ完了しました。ただし、Windowsで動作している間は、パフォーマンスの違いをテストするためにMacで実行することをお勧めします(Macのハードウェアははるかに高速です)。
テキストファイルの値を格納している順序付けされていないマップがあり、このマップをコピーしてキーと値のペアを逆にしています。
テキストファイルは新しい行を追加し続けます。調査の結果、Windowsが独自のキャリッジリターンを追加し(なぜ?!)、マップの1つおきの要素の最後にあることがわかりました。ファイルは「stringx、stringy」であるため、stringstreamを使用して文字列xとyをキーと値のペアに分割しています。
編集:答えの人に感謝します、御馳走を働きました!