gpt4 book ai didi

debugging - RUST_BACKTRACE=1 有多少开销?

转载 作者:行者123 更新时间:2023-11-29 07:43:16 25 4
gpt4 key购买 nike

总是设置 RUST_BACKTRACE=1 是否合理?

它会在正常执行期间(例如在函数调用期间)引入任何(显着的?)开销,还是仅在发生 panic 时才会有开销?

最佳答案

标准库中唯一读取RUST_BACKTRACE 环境变量的地方是函数sys_common::backtrace::log_enabled()。 .该函数仅从 panicking::default_hook 调用,在 panic 发生后被调用。因此,设置它应该不会对性能产生影响,除非线程崩溃。

请注意,此标志也会影响编译器本身 (rustc)。编译器有时会发出 panic 以导致“正常”退出,从而抑制打印回溯但仍在计算它。当它在编译错误后退出时可能会发生这种情况。过去,人们报告说这会导致某些版本的编译器需要很长时间才能退出并设置 RUST_BACKTRACE=1

一些 crate 也可以自己处理 RUST_BACKTRACE:例如,error_chain crate 在生成错误时生成回溯并且 RUST_BACKTRACE=1已设置。这会减慢使用这个箱子的项目。一个使用 error_chain 的著名项目是 cargo

关于debugging - RUST_BACKTRACE=1 有多少开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29421727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com