5
我在编写一个计算量很大的程序,在调试模式下运行速度很慢。如何在启用溢出检查的情况下编译并运行优化的Rust程序
我的程序也是由整数溢出的困扰,因为我从u8
阵列读取数据和u8
类型通过类型推断蔓延到意想不到的地方,而锈喜欢溢出而不是促进整数更大的类型。在释放模式
大厦禁用溢出检查:
cargo run --release
如何建立与优化和运行时溢出检查锈可执行启用呢?
我在编写一个计算量很大的程序,在调试模式下运行速度很慢。如何在启用溢出检查的情况下编译并运行优化的Rust程序
我的程序也是由整数溢出的困扰,因为我从u8
阵列读取数据和u8
类型通过类型推断蔓延到意想不到的地方,而锈喜欢溢出而不是促进整数更大的类型。在释放模式
大厦禁用溢出检查:
cargo run --release
如何建立与优化和运行时溢出检查锈可执行启用呢?
最简单的事情可能是build in test or dev mode with optimizations:
[profile.dev]
opt-level = 3
或者,你可以在释放模式编译调试断言启用:
[profile.release]
debug-assertions = true
注意:要获得良好的加速,但仍然有有意义的堆栈跟踪,你可能只想使用'opt-level = 1'。每个函数体都会得到优化,但通常没有(或很少)内联。当然它不是那么快...... –
对于内联,有'#[inline(never)]'和'#[inline(always)]'(当然,只有当你注意到编译器没有做好时,因为过度使用这些属性可能会适得其反)。 – Kornel