はじめに これは徐々に高度になるリングバッファの話、をRustで試したの精神的続編です。 前回はリングバッファの実装によるパフォーマンスの違いを、x86の2つのCPUで見ました。このパフォーマンス比較はCPU毎の違いを見るという意味でも使えそうなので、JetsonOrinを使ってCPUの実装と最終的な命令の違いでどのような差になるか見ていきます。 三行で JetsonOrinのデフォルトではコンパイルオプション付いてない、つけると20%ぐらい改善する Rust v1.71.1 : RUSTFLAGS=-C target-feature=+v8.2a,+a78,+rcpc,+dotprod,+ssbs GCC v11.x : -march=armv8.2-a -mtune=cortex-a78ae 特にAtomic命令はRCscからRCpcにすることで大きな効果がある コードの最適化は実行す
![Jetson Orin CPU向けの最適化について - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/bae7bb463bd393da40eafb712f4a34b75a3df8c3/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9SmV0c29uJTIwT3JpbiUyMENQVSVFNSU5MCU5MSVFMyU4MSU5MSVFMyU4MSVBRSVFNiU5QyU4MCVFOSU4MSVBOSVFNSU4QyU5NiVFMyU4MSVBQiVFMyU4MSVBNCVFMyU4MSU4NCVFMyU4MSVBNiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NzNiODI0NzcxM2Q5NGI5OTQ1Nzk1MWVhZjY1MGI2ZjA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwdXp1bmEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWFhOTNmNjU1YTViMDkwNDA4ZDkxOGJmOTk1ZGM3ZWM4%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D11b05cf1d4404f5ac0b3241a0d99299f)