zoukankan      html  css  js  c++  java
  • 没卵用的卡常实验

    没卵用的卡常实验

    同步:https://buringstraw.win/archives/75/
    想起有人说,三目运算符比if-else慢,

    也有人说,加了inline其实会更慢

    那么,来做个实验吧。

    (好智障的实验我都不好意思放上来)

    准备

    • 三种方式写的“函数”。因为我太蒟了,所以用了最简单的max

      #define max(a, b) ((a) > (b) ? (a) : (b))
      
      int max (int a, int b) {
      	if (a > b) return a;
      	else return b;
      }
      
      int max (int a, int b) {
      	return ((a) > (b) ? (a) : (b));
      }
      

      其中后两种分别测了有inline和没inline

    • 主程序

      采用没srand()rand()来产生数据,这样不仅是随机分布的,而且总的数据还一样

      int main (void) {
      	for (int i = 1; i <= 100000000; ++i) {
      		int x = rand(), y = rand();
      		int z = max(x, y);
      	}
      	return 0;
      }
      
    • 计算器utools真好用

    过程

    本着科学的实验原则,每个测五遍,取平均值

    结果

    从上到下依次是:defineif没inlineif有inline三目没inline三目有inline

    UTOOLS1572873241403.png

    结论

    define非常快,尽量用

    三目运算符比if-else

    inline比没inline
    。。。。。。。。。。。。
    好像也没多大区别

  • 相关阅读:
    vue跨域代理配置
    vue中引入jquery
    vue中使用特殊字体
    vue中使用mockjs
    vue中使用动态echart图表
    解决win10休眠后无法唤醒
    nvm-windows的安装配置
    黑苹果快捷键
    python基础知识
    如何高效的学习python
  • 原文地址:https://www.cnblogs.com/buringstraw/p/11794962.html
Copyright © 2011-2022 走看看