zoukankan      html  css  js  c++  java
  • 高效编程之指针跳转的影响

    C语言的指针跳转访问是一个灵活高效的机制,但是再高效也是要花费额外时间的,下面这个程序如果在gcc -O0不优化的情况,就可以看出指针跳转比直接访问要多消耗10%左右的时间

    #include <stdio.h>
    #include <sys/time.h>
    int main()
    {
         int m = 0;
         int *p = &m;
         int i  =0;
         int n = 1;
         struct timeval time1, time2;
    
    
         m = 0;
         gettimeofday(&time1, 0);
         for(i = 0; i < 1000000000; i++)
         {
              *p = *p + n;
         }
         gettimeofday(&time2, 0);
         printf("time %f
    ", (double)(time2.tv_sec-time1.tv_sec) + (double)(time2.tv_usec-time1.tv_usec) /1000000);
    
    
         m = 0;
         gettimeofday(&time1, 0);
         for(i = 0; i < 1000000000; i++)
         {
              m = m + n;
         }
         gettimeofday(&time2, 0);
         printf("time %f
    ", (double)(time2.tv_sec-time1.tv_sec) + (double)(time2.tv_usec-time1.tv_usec) /1000000);
    
    
         printf("m %d
    ", m);
    
         return 0;
    }
  • 相关阅读:
    康托(逆)展开(2015.8.6)
    高精度计算(2015.8.1)
    笔记(2015.8.1)
    筛法求素数(2015.7.30)
    欧几里德算法(2015.7.28)
    快速幂取模(2015.7.29)
    同余
    图论相关算法
    笔记(2015-07-24)
    ACM进阶计划
  • 原文地址:https://www.cnblogs.com/hdflzh/p/3715604.html
Copyright © 2011-2022 走看看