G.FUD.05 不要总是为函数指定 inline(always)

【级别】 建议

【描述】

inline 虽然可以提升性能,但也会增加编译时间和编译大小。

Rust 中性能、编译时间和编译大小之间需要权衡。根据需要再 inline 即可。

【反例】

#![allow(unused)] #![warn(clippy::inline_always)] fn main() { // 不符合 #[inline(always)] fn not_quite_hot_code(..) { ... } }

【例外】

根据需要再inline即可,比如明确知道某个函数被调用次数非常频繁,这个时候为了性能考虑要为其手工指定内联。

#![allow(unused)] fn main() { // 符合:实现内存回收功能,调用非常频繁。性能优先。 #[inline(always)] pub fn buf_recycle(buf_id: usize) { // ... } }

【Lint 检测】

lint nameClippy 可检测Rustc 可检测Lint Grouplevel
inline_alwaysyesnopedanticallow