博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
memset, fill 对bool,int 赋值的效率
阅读量:5093 次
发布时间:2019-06-13

本文共 2052 字,大约阅读时间需要 6 分钟。

memset对bool型变量赋false比对int型变量赋0快了10倍

fill对bool型变量赋false和对int型变量赋0效率一样

fill对int型变量赋0比memset对int型变量赋0慢了10倍

归结来说,以后要赋变量false的初值时,应该用bool型变量,用memset赋

#include 
#include
#include
#include
using namespace std;int d[2000000];bool d2[2000000];int has_train[1000][1000][2];bool has_train2[1000][1000][2];int main(){ clock_t start, finish; start = clock(); int k = 1000; while(k--) { memset(d, 0, sizeof(d)); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); start = clock(); k = 1000; while(k--) { memset(d2, false, sizeof(d2)); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); start = clock(); k = 1000; while(k--) { memset(has_train, 0, sizeof(has_train)); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); start = clock(); k = 1000; while(k--) { memset(has_train2, false, sizeof(has_train2)); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); start = clock(); k = 1000; while(k--) { fill(d, d+2000000, 0); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); start = clock(); k = 1000; while(k--) { fill(d2, d2+2000000, false); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); start = clock(); k = 1000; while(k--) { fill(has_train[0][0], has_train[0][0]+2000000, 0); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); start = clock(); k = 1000; while(k--) { fill(has_train2[0][0], has_train2[0][0]+2000000, false); } finish = clock(); printf("%f\n", (double)(finish - start) / CLOCKS_PER_SEC); return 0;}

 

//最后我尝试了直接对int型和bool型数组赋值而不使用memset和fill,发现效率和memset对int 型数组赋值0效率是一样的。

 

转载于:https://www.cnblogs.com/thesky/p/11113306.html

你可能感兴趣的文章
重构代码 —— 函数即变量(Replace temp with Query)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
如何理解汉诺塔
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
Linux基本操作
查看>>
osg ifc ifccolumn
查看>>
C++ STL partial_sort
查看>>
centos redis 安装过程,解决办法
查看>>
IOS小技巧整理
查看>>
WebDriverExtensionsByC#
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
sublime 配置java运行环境
查看>>
在centos上开关tomcat
查看>>
重启rabbitmq服务
查看>>
正则表达式(进阶篇)
查看>>
无人值守安装linux系统
查看>>
【传道】中国首部淘宝卖家演讲公开课:农业本该如此
查看>>