switch case与if else执行效率分析

结论:switch...case的效率会比if...else要高一些

一、 if...else语句

switch case与if else执行效率分析_第1张图片

对if...else函数反汇编后,能看见这个函数所采用的方法是按顺序去比较(jne表示“当不等于时转移”),如果输入的数值所对应的if条件靠后的话,会进行较多次的对比判断后,才能进入对应的分支。


二、 switch...case语句

switch case与if else执行效率分析_第2张图片

 

由上图可以看出,当开始进行switch匹配时,在

就已经计算出需要跳转到哪里进行下一步运算了,当switch的值变化的时候,这里需要跳转的地址也会进行变化。对比if...else来看,switch...case不需要多次比较,而是直接跳转到对应的运算条件,所以,它的效率会比if...else要高一些

 

你可能感兴趣的:(逆向学习)