码迷,mamicode.com
首页 > 其他好文 > 详细

menset的效率

时间:2020-05-03 12:27:44      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:ima   data   clock   color   数通   div   ++   string   效率   

一.摘要

  memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。

二.示例

 1 /**memset的效率对比*/
 2 #include<stdio.h>
 3 #include<string.h> 
 4 #include<time.h>
 5 #define Max 1000
 6 double begin[10000],end[10000];
 7 int data[Max][Max];
 8 double caculate(){
 9     int i;
10     double sum=0;
11     for(i=0;i<10000;i++){
12         sum=sum+(end[i]-begin[i]);
13     }
14     return sum/10000/CLOCKS_PER_SEC*1000;//返回毫秒数 
15 }
16 int main(){
17     int i,j,k;
18     //统计menset()函数用时 
19     memset(begin,0,sizeof(begin));
20     memset(end,0,sizeof(end));
21     for(k=0;k<10000;k++){
22         begin[k]=clock();
23         memset(data,0,sizeof(data));
24         end[k]=clock();
25     }
26     printf("memset()函数平均用时:%fms\n",caculate());
27     //统计for循环用时 
28     memset(begin,0,sizeof(begin));
29     memset(end,0,sizeof(end));
30     for(k=0;k<10000;k++){
31         begin[k]=clock();
32         for(i=0;i<Max;i++){
33             for(j=0;j<Max;j++){
34                 data[i][j]=0;
35             }
36         }
37         end[k]=clock();
38     }
39     printf("for循环平均用时:%fms\n",caculate());
40     return 0;
41 }

三.结果

技术图片

  测了N多遍,很明显,menset()初始化比for循环初始化快很多,for循环的用时大概是它的十倍左右。

menset的效率

标签:ima   data   clock   color   数通   div   ++   string   效率   

原文地址:https://www.cnblogs.com/ChaseMeng/p/12821348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!