Microsoft のツールを使用して C++ でプログラミングを行うと思われる場合は、以前の Visual Studio コンパイラをつぶやくことができます。 または、LLVM をフロント ストップ (ClangCL) としてつぶやくことができます。 )))。 基本的に最新のClangCLコンポーネント(LLVM 15あたり)を備えた最新のVisual Studio(2022)をつぶやきます。 ライブラリのビルドは基本的にCMakeの最新版をつぶやきます。 フォームの並列化は控えます: デフォルト設定をつぶやきます。 ハードウェアに関しては、マイクロソフト フロア ラップトップ ラップトップ Studio:
Tiger Lake Intel プロセッサを搭載しているとつぶやきます。 ) (i7-11370 @ 3.3 GHz).GitHub から simdutf ライブラリを取得した後、Visual Studio のミュートを解除するための項目を作成するフォームを準備します:
> cmake -B buildvc
ClangCL にも同じことを適用します:
> cmake -B buildclangcl -T ClangCL
フォームの項目化ごとに、デバッグモードでフォームを作成する立場にあります (
Intel Ice Lake プロセッサ | GCC 11 54秒 AWS/Linux インテルIce Lakeプロセッサ LLVM 14
1分* | WSL (Microsoft ラップトップ ラップトップ) Intel Rocket Lake プロセッサ |
Intel プロセッサでは、プロセッサの多くの家庭を強化するためにいくつかのカーネルを形成します。 64 ビット ARM プロセッサでは、1 つのカーネルを形成するのが最も適切です。 したがって、AWS/Linux の意図と macbook のパフォーマンスはかなり匹敵します
abet を Windows に切り替えてライブラリを作成しましょう
デバッグ
リリース
執行を早めましょう基準。
デバッグ | 5.9 GB/s |
---|
私次の暫定的な結論をマッピングします:
- デバッグ コードとリリース コードの間には重要なパフォーマンスの違いがあります (たとえば、5 倍から 15 倍の違い)。
- デバッグ モードでは、従来の Visual Studio は非常にパフォーマンスの高いコードを生成し、ClangCL よりも高速にコンパイルされます。
したがって、デバッグ モードで従来の Visual Studio コンパイラをつぶやくのも理にかなっています。なぜなら、ビルドが速く、コードを試しながらさまざまな利点があるためです。その後、リリース モードで ClangCL をパフォーマンスのために使用します。
なぜコードの形式が Windows よりもはるかに長いのか、もはや正確にはわかりません。 同じラップトップ上で Windows の下に Linux を構築するのは速いので、それは私のハードウェアであってはなりません.
WSL変化
ClangCL を使用して Windows ツールをコンパイルすると、単純にパフォーマンスが向上します (リリース モードで)。 私のチェックでは、ClangCL で 40% のスピードアップが得られました。 それにもかかわらず、ClangCL でのコンパイルにははるかに長い時間がかかります。 実際、私は Windows のお客様に ClangCL を使用してライブラリを作成することを提案しており、この推奨事項を支援しています。
。 読者の Quan Anh Mai から、Windows Subsystem for Linux power のソース ファイルの複製を作成したかどうか尋ねられましたが、もう作成していません。 そうすることで、速度が 3 倍になります。 良いタイミングを統合しました 𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺