#include <stdio.h>#include <stdlib.h>#include <sys/time.h>voidloop_unroll1(void){floata[1000000];for(inti=0;i<1000000;i++)a[i]=a[i]+3;}voidloop_unroll2(void){floata[1000000];for(inti=0;i<1000000;i+=2){a[i]=a[i]+3;a[i+1]=a[i+1]+3;}}voidloop_unroll3(void){floata[1000000];for(inti=0;i<1000000;i+=4){a[i]=a[i]+3;a[i+1]=a[i+1]+3;a[i+2]=a[i+2]+3;a[i+3]=a[i+3]+3;}}intmain(intargc,char**argv){structtimevaltime_start,time_end;gettimeofday(&time_start,NULL);loop_unroll1();gettimeofday(&time_end,NULL);printf("used time us_sec %ld\n",time_end.tv_usec-time_start.tv_usec);gettimeofday(&time_start,NULL);loop_unroll2();gettimeofday(&time_end,NULL);printf("used time us_sec %ld\n",time_end.tv_usec-time_start.tv_usec);gettimeofday(&time_start,NULL);loop_unroll3();gettimeofday(&time_end,NULL);printf("used time us_sec %ld\n",time_end.tv_usec-time_start.tv_usec);return0;}