Nsa*_*nja 4 performance performance-testing rust rust-macros
在 Rust 中,宏在编译时执行。它们通常会扩展为编译器需要进一步处理的新代码段。
但是宏编译之后或编译之前,普通函数与宏之间有性能差异吗?
Cha*_*man 11
我假设您正在谈论运行时性能。编译时明智的宏通常较慢,因为它们是针对每次调用进行编译的。
宏就像#[inline(always)]函数。这对性能可能是好是坏,具体取决于许多特征,例如代码调用次数、代码大小或指令缓存压力。在做出决定之前始终进行基准测试。
如果您可以使用函数,则更喜欢它。如果认为对性能有利,则始终可以对其进行标记#[inline(always)],同时使用更熟悉的语法和更快的编译时间。
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |