我正在编写一个计算量很大的程序,在调试模式下运行起来非常慢.
我的程序也受到整数溢出的困扰,因为我正在从u8
数组中读取数据并u8
通过类型推断将扩展类型扩展到意外的位置,而Rust更喜欢溢出而不是将整数提升为更大的类型.
在发布模式下构建会禁用溢出检查:
cargo run --release
如何通过优化和运行时溢出检查来构建Rust可执行文件?
您可以在启用溢出检查的发布模式下编译:
[profile.release] overflow-checks = true
这传递-C overflow-checks=true
给编译器.在早期版本的Rust中,它overflow-checks
是debug-assertions
交换机的一部分,因此在某些情况下您可能需要使用它.
其他时候,最简单的事情可能是使用优化来构建测试或开发模式:
[profile.dev] opt-level = 3