根据Supercharging Perl - Daina Pettit的这张幻灯片,
上面写着:
避免使用使用线程编译的perl
版本或DDEBUGGING
,除非您知道您需要它们。
我知道大多数发行版使用线程编译Perl,但是我在Debian上的Perl(如使用perl -V
所观察到的)是使用-DDEBUGGING=-g
编译的,这会减慢它吗?
根据Supercharging Perl - Daina Pettit的这张幻灯片,
上面写着:
避免使用使用线程编译的perl
版本或DDEBUGGING
,除非您知道您需要它们。
我知道大多数发行版使用线程编译Perl,但是我在Debian上的Perl(如使用perl -V
所观察到的)是使用-DDEBUGGING=-g
编译的,这会减慢它吗?
1条答案
按热度按时间nlejzf6q1#
启用调试的Perl速度较慢。
请注意,使用
-DDEBUGGING
构建的perl将比标准perl大得多,运行速度也慢得多。但是,
-DDEBUGGING=-g
不启用调试:为了方便起见,调试代码(
-DDEBUGGING
)和调试符号(-g
)可以使用Configure开关联合或单独启用,也可以(有点令人困惑)。对于一个更吸引人的调用,-DEBUGGING
被定义为-DDEBUGGING
的别名。对于这两个调用,还支持-U
调用,以便能够否决提示或Policy.sh设置。和also documented:
配置
-DEBUGGING=-g
添加
-g
进行优化,但不设置-DDEBUGGING
。(注意:您的系统实际上可能需要类似cc -g2
的内容。请查看手册页中的cc(1)以及系统的任何提示文件。)您可以使用以下工具测试状态:
perl -D
,如果您看到以下内容,则表示您没有-DDEBUGGING
,使用
-DDEBUGGING
重新编译perl以使用-D
开关(您的意思是-d吗?)