在启动期间主要遇到使用MooseX :: Declare会影响性能吗?

Dan*_*rne 5 perl moose

使用MooseX :: Declare时的性能是否会受到影响,而它在初始魔术时会遇到(即将定义"转换"为标准的Perl语法)?即,一旦编译和初始运行时设置完成,调用MooseX :: Declare方法与通过传统声明定义的方法之间是否存在性能差异?

hob*_*bbs 8

答案是肯定的,不是.由于MooseX :: Declare使用MooseX :: Method :: Signatures来执行参数解包和验证,因此与根本不验证参数相比,存在运行时开销.

但是,如果你的"传统宣言"的理念包括验证您的参数的数量和类型(应该,如果你想健壮的代码),那么我们没有理由认为验证MXD/MXMS确实会比验证你将任何慢自己做.