首页 > 代码库 > 高效编程之指针跳转的影响
高效编程之指针跳转的影响
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\n", (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\n", (double)(time2.tv_sec-time1.tv_sec) + (double)(time2.tv_usec-time1.tv_usec) /1000000); printf("m %d\n", m); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。