三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Rust 程序变慢先别上 unsafe:从 clone、分配和锁找热点

Rust 程序变慢先别上 unsafe:从 clone、分配和锁找热点

Rust 程序变慢先别上 unsafe:从 clone、分配和锁找热点

Rust 程序慢了,我不会先碰unsafe。先用 profiler 看 clone、分配和锁等待;没有测量,所谓优化很可能只是换了一种写法。

fn total_len(items: &[String]) -> usize { items.iter().map(|s| s.len()).sum() }

这个例子不需要clone。不过借用也不是教条:如果数据必须跨任务保存,拥有String更清楚。修改后用相同输入跑测试,比较正确性和基准趋势;基准输入使用合成文本,不混入用户数据。先找到一处真实热点,再决定是否值得继续。

← 返回列表