在c++中将数组的所有元素初始化为零所花费的时间
Time spent in initializing all elements of an array to zero in c++
我在程序中多次将数组的所有元素初始化为零。
我使用的是这个代码:
int a[100000]={};
上面的代码比这个代码快吗:
for(int i=0; i<100000; i++)
{
a[i]=0;
}
或者还有其他比两者都快的方法吗?
通常编译器用于这样的定义(当数组具有自动存储持续时间时)
int a[100000]={};
生成等价于的目标代码
memset( a, 0, sizeof( a ) );
例如,在IBM大型机中的AFAIK,此功能是用一条mashine指令实现的。
仅举一例,您可以如何自我评估所需的任何事情的时间(同步执行)。伪:
DateTime begin = DateTime.Now;
// Your operations (for example 1 000 000 of them ... )
DateTime end = DateTime.Now;
TimeSpan operationsTakeOver = end - begin;
然后你就不必在这里问性能问题了。当然,在大多数情况下。
相关文章:
- 如何使用发送数据包所花费的时间计算两个节点之间的距离?
- 为什么在尝试测量函数返回所需的时间时,我的运行时编号是错误的?
- 比较向量中的元素时所花费的时间呈指数级增长
- 如何获取零MQ时间戳?
- 测量将参数传递到函数所需的时间
- 提升:套接字读/写所需时间
- 程序读取文字或解释变量所需的时间是否更少
- 如何使用二叉搜索计算搜索单词所需的时间
- 哪种控制结构所需的时间复杂度更低?
- 分析执行C++代码的每一行所花费的确切时间
- 生成数独谜题所花费的时间
- 程序执行基本操作所花费的总时间
- 打开'write'文件所需的时间是打开文件'read'的 10-50 倍
- 最短路径的dijkstra算法的时间复杂度是否取决于所使用的数据结构?
- 有效地将所有数组值设置为零
- 如何测量 sqlite3 查询所花费的时间
- 在 Android Framework 中使用 cpp 方法所花费的时间
- C++在堆上分配相同类型的变量所花费的时间非常不同
- 如何使用以查看<chrono>函数执行所花费的时间
- 在c++中将数组的所有元素初始化为零所花费的时间