首页 / 知识
关于性能:Perl:为什么if语句比” and”慢?
2023-04-16 21:47:00

Perl: why is the if statement slower than “and”?在Perl中,条件可以表示为
或as
有趣的是,第二种方法似乎要快10%。有谁知道为什么吗? 有关以下内容的一些评论: 首先,不要使用B :: Terse,这已经过时了。 B :: Concise一旦您习惯了,就会为您提供更好的信息。 第二,您已经使用给定的文字代码运行了它,因此条件被视为恰好是真实的裸字,因此布尔检查在两种情况下都被优化了,这违背了目的。 第三,没有多余的操作码-"空"表示已被优化的操作码(完全不在执行树中,尽管仍在解析树中)。 这是这两种情况的简洁执行树,它们显示为相同:
这只是演示,如果您不知道如何执行正确的代码配置文件,请不要执行此操作。这两种方法的速度差异在相同的Big O()速度之内(如@Leon Timmermans opcode分析所证明的那样)-基准只是显示基于其他本地条件(不一定是您的代码)的差异。 @Svante说"和"更快,@ shelfoo说"如果"更快。 我的意思是真的……在一千万次循环中,百分之七十分之一秒的变化?从统计上讲,这不是更快或更慢。...相等。 与其像这样的微小时序,不如了解代码重构和Big O()表示法……如何减少代码中的循环次数……以及最重要的是,如何使用代码探查器进行查看真正的瓶颈在哪里。不用担心统计上无关紧要的东西。 ;) 我已经失望了,它真的不应该更快。第一个的操作码树是
第二个操作码树是
我真的不知道后者会如何更快。它还有一个操作码! 在平均之前,您进行了多少次测试?在统计上,非常非常小的偏差是很小的!在很多测试之间,速度有很多差异的原因很多。 根据基准,第二个稍微慢一些。可能与条件有关,但这是一个非常简单的情况的结果:
结果:
它也可能取决于Perl的版本。您还没有提到。而且无论如何,区别还不足以担心。因此,请使用更有意义的方法。 |
最新内容
相关内容
linux测试性能命令?
linux测试性能命令?,系统,网络,信息,工具,状态,地址,指标,情况,分析,下行,五个Linux简单命令帮你解决系统性能问题VMSTAT命令擅长用来查询CPUlinux中断命令语句?
linux中断命令语句?,系统,服务,状态,号码,进程,命令,信号,传播,互动,名称,在linux中如何终止指令的运行1、方法在“Terminal”终端输入“gnomelinux命令错误的是?
linux命令错误的是?,系统,信息,异常,密码,工具,地址,网络,实时,状态,数据,Linux系统中输入命令,输出结果有误是怎么回事?出现以上提示,很多原因linux条件判断命令?
linux条件判断命令?,代码,系统,语句,地方,工作,软件,时间,项目,管理,标准,条件语句和循环语句都可用作判断while是循环语句,在C语言中通常用whilinux性能检测命令?
linux性能检测命令?,系统,情况,信息,状态,工具,实时,百分比,指标,分析,命令,查看linux的cpu和内存要查看CPU使用情况,可以使用top命令。Top命令linux命令安条件删除?
linux命令安条件删除?,系统,命令,不了,通用,名称,文件夹,文件,目录,软件,子目录,linux系统删除文件夹命令linux删除命令rm-rf命令。具体详情:rm写5条linux命令语句?
写5条linux命令语句?,工作,地址,系统,信息,目录,命令,管理,标准,功能,文件,linux常用的命令有哪些1、linux系统常用操作命令如下:ls:全拼list,功linux命令语句规律?
linux命令语句规律?,系统,管理,基础,网络,信息,命令,服务,简介,工具,标准,linux必学的命令是什么?1、Linux常用的命令可以分为以下几类:安装和linux查看性能的命令?
linux查看性能的命令?,系统,情况,信息,数据,状态,指标,第一,分析,命令,宏观,linux查看cpu个数和核心数linux怎么查看cpu的个数?我们一起来了解linux命令查的是啥?
linux命令查的是啥?,系统,时间,信息,状态,命令,工具,名称,标准,软件,情况,Linux系统中用于查看系统进程状态的命令是什么?命令是[ps-aux]。该命令linux性能测试命令?
linux性能测试命令?,数据,系统,工具,标准,设备,地址,情况,基础,网络,环境,如何排除linux系统的读写缓存进行磁盘性能测试chkdsk。chkdsk的全称linux循环语句命令?
linux循环语句命令?,地方,增长,数字,语句,流程,名称,工具,代码,数据,条件,Linux入门系列——awk命令详解1、其中command是真正的awk命令,-F表示