如果它们是静态块(其中没有VTL代码),则#included将它们作为单独的资源肯定会表现得更好.即使它们是动态的(具有VTL代码),也可以使用#parse而不是#include,并且仍然可以获得比宏更好的性能.我甚至不会惊讶地发现#define VTL块比宏更快,尽管我还没有测试过.宏是伟大的,非常有用,但人们有时会滥用或滥用它们.
#parse和#include的缺点是你必须维护更多单独的文件,但这是超高速度的代价.#define非常适合不需要args和/或需要作为引用传递的代码块,但是你应该只在定义它们的模板中直接使用#define'd块,否则事情就会变得混乱.
宏是伟大的,因为它们采用参数并且可以在全球范围内定义,并且全局是它们表现最佳并且最有意义的地方.当我有一个合理的选择时,我通常会尽量避免使用本地宏.当我成功避免使用任何本地宏时,我会关闭它们以获得一个小的速度提升.
| 归档时间: |
|
| 查看次数: |
3126 次 |
| 最近记录: |