@
RTSmile 毕竟是 std 的问题, 修复蛮麻烦的.
benchmark 一下就能看出来, 我原来还不信的.
最简单的复现代码, 虽然不够严谨. 严谨点得用 benchmark, 或者上火焰图看看什么情况, 我对为什么慢不感兴趣所以没弄.
```rust
fn main() {
let mut result = Vec::with_capacity(20);
for _ in 0..20 {
let now = Instant::now();
for _ in 0..10000 {
let _ = anyhow::anyhow!("test error");
}
result.push(now.elapsed().as_nanos());
}
let avg = result.iter().sum::<u128>() as f64 / 20f64 / 1000f64;
println!("avg cost: {}s", avg);
}
```
反正我现在是遵照一位大佬的建议锁 1.0.76 这最后一个正常的版本, 然后所有依赖 anyhow 的库也基本会对齐依赖版本. 还在观察中, 后天有空看看 nightly 版本下的情况.