我已经用Valgrind和Callgrind对程序进行了分析,发现大部分时间都用在nearbyint$fenv_access_off函数中。

我发现它是LLVM固有的,但是哪个Rust语言构造使用它?我该如何避免呢?

performance - 什么Rust构造函数使用来自libsystem_m的nearingint?-LMLPHP

最佳答案

进行search for nearbyint 会找到相关的符号nearbyintf32nearbyintf64。这些are documented作为返回最接近的整数到浮点值。但是,似乎没有对该特定函数的调用。
fenv_access_off appears to be an OS X specific aspect of the math library

跟踪中的另一件事是round。我可以相信round可以使用nearbyint。我也没有在标准库中看到round的任何情况,这些情况似乎会发生在紧密的循环中。

除此之外,任何事情都是纯粹的猜测。

关于performance - 什么Rust构造函数使用来自libsystem_m的nearingint?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34078460/

10-11 17:28