動機 The Rust Performance Book という書きものを見つけました。いろいろなパフォーマンス改善テクニックが書かれているわけですが、実際に普段書いてる Rust コードの中で一体何がパフォーマンスに与える影響が大きいのか?という点が気になってベンチマークを取ってみました。 今回パフォーマンスを計測するプログラムはビットマップ画像(1600px x 1200px)をグレースケールに変換する処理です。I/O のパフォーマンスは無視します。&[u8]から RGB をそれぞれ 1byte ずつ(合計 3bytes)取ってきて、それをグレースケールの 1byte に変換してVec<u8>にする時間を計測します。イメージとしては下記のような関数です。 // source が カラーのビットマップ画像のデータ fn sample(source: &[u8]) -> Result<Ve
![Rust のパフォーマンスに何が影響を与えているのか - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/95c5e821f3d80adc2b2fc3772970522423ee5295/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-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UnVzdCUyMCVFMyU4MSVBRSVFMyU4MyU5MSVFMyU4MyU5NSVFMyU4MiVBOSVFMyU4MyVCQyVFMyU4MyU5RSVFMyU4MyVCMyVFMyU4MiVCOSVFMyU4MSVBQiVFNCVCRCU5NSVFMyU4MSU4QyVFNSVCRCVCMSVFOSU5RiVCRiVFMyU4MiU5MiVFNCVCOCU4RSVFMyU4MSU4OCVFMyU4MSVBNiVFMyU4MSU4NCVFMyU4MiU4QiVFMyU4MSVBRSVFMyU4MSU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NzQ0ZDNkYjIwMTkzYjc0YzUyZDdiNzZjZGNkZmUwNjM%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBiZW5raSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MWRlODc4NDJhMzk2ZDdhMmUyNTIyODBiYmViMDhjZTU%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D101ee26dd823465e07b064e5ea629e3d)