我试图对一些Rust代码进行基准测试,但我无法弄清楚如何设置" ffast-math"选项。
% rustc -C opt-level=3 -C llvm-args='-enable-unsafe-fp-math' unrolled.rs
rustc: Unknown command line argument '-enable-unsafe-fp-math'. Try: 'rustc -help'
rustc: Did you mean '-enable-load-pre'?
llvm-args='-ffast-math'
和llvm-args='-fast'
也无效。我应该使用什么旗帜?
答案 0 :(得分:5)
Rust问题#21690讨论了添加不精确的浮点运算。该问题与addition of intrinsics相关联,可让您在每个操作的基础上选择更宽松的规则。例如,fadd_fast
:
pub unsafe extern "rust-intrinsic" fn fadd_fast<T>(a: T, b: T) -> T
使用内在函数需要夜间编译器和不安全的代码:
#![feature(core_intrinsics)]
use std::intrinsics::fadd_fast;
fn main() {
let result = unsafe { fadd_fast(42.0, 31.0) };
println!("{}", result);
}
最终,这是一个很多更好的设计,而不是命令行标志的全有或全无解决方案。谁知道是否有一些浮点计算对于不使用快速数学至关重要,深埋在你的程序中?但是,在尝试与选择它的C程序进行比较时,这对您没有帮助!
答案 1 :(得分:2)
您始终可以使用 if(editText.getText().toString().equals(text2)){
Toast.makeText(getApplicationContext(),"Your message/Your String",Toast.LENGTH_LONG).show();
}
并使用所需设置编译LLVM IR。