5
非常に計算量が多く、デバッグモードで動作するのが面倒です。オーバーフローチェックを有効にして最適化されたRustプログラムをコンパイルして実行する方法
私のプログラムはまた、私はu8
配列からデータを読んでいるので、整数オーバーフローによって悩まさとu8
タイプは型推論を経由して、予期せぬ場所に広がり、錆がオーバーフローするのではなく、より大きな型に整数を促進することを好むています。
リリースモードでビルドはオーバーフローのチェックを無効にします。
cargo run --release
にはどうすればオーバーフローのチェックが同様に有効な最適化とランタイムと錆の実行可能ファイルを構築することができますか?
注:良いスピードアップを取得し、まだ持っています意味のあるスタックトレースは 'opt-level = 1'だけを使いたいかもしれません。各関数本体は最適化されますが、一般的にはインライン化はありません(またはほとんど)。もちろん、それは高速ではありません... –
インライン化には、#[インライン(決して)]と#[インライン(常に)] 'があります(もちろん、コンパイラがうまく行かないことがわかっている場合、これらの属性の過度使用が逆行する可能性があるため)。 – Kornel