向量与动态数组的存储速度比较
2013-05-02 15:12
155 查看
试验了20000*2000的float数据分别在向量和动态数组上的存储速度,前者所用时间是后者的47倍。
实验的结果如下图:1s的是数组;47s的是向量。所以,要想速度快,还是选用动态数组。
实验代码如下:
#include <ctime>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
time_t timep;
string st;
timep=time(NULL);
st=ctime(&timep);
string st1=st;
float** TdimArry;
TdimArry=new float* [20000];
for (int i=0;i<20000;i++)
{
TdimArry[i]=new float [2000];
for (int k=0;k<2000;k++)
TdimArry[i][k]=2.0;
}
for (i=0;i<20000;i++)
delete [] TdimArry[i];
TdimArry=NULL;
timep=time(NULL);
st=ctime(&timep);
cout<<st1;
cout<<st;
st1=st;
vector< vector<float> > vec;
vector<float> vec1;
for (i=0;i<20000;i++)
{
vec.push_back(vec1);
for (int j=0;j<2000;j++)
vec[i].push_back(2.0);
}
timep=time(NULL);
st=ctime(&timep);
cout<<st1;
cout<<st;
return 0;
}
相关文章推荐
- 再谈动态数组与向量存储速度
- 动态申请内存方式和数组的比较
- java关于ArrayList动态数组与静态数组Arrays-元素比较输出最大最小值的使用例子
- 函数的返回值问题(返回指针和数组的区别)静态存储区、动态数据区、栈
- C语言动态存储分配空间作为数组
- C语言提高-39讲: 动态存储管理与动态数组的实现(实践)
- C++动态分配数组/向量(一维,二维)
- 【摘】存储过程比较动态SQL的优点在哪里
- 数组拷贝的速度比较
- 用vector(向量)实现动态开辟二维三维数组
- 数组速度比较
- 动态存储分配及深复制 —我的数组类
- 动态存储空间管理示例——比较两个数大小
- 动态数组封装实现向量类
- 当地日期和时间命名存储及多维动态数组
- 用for循环对int数组的赋值和用System.arraycopy()对int数组赋值的速度比较
- 存储介质访问速度比较 来自Google工程师Jeff Dean的分享,仅供参考
- 比较数组下标操作与指针操作的速度(将程序转换成汇编程序)
- C++动态分配数组/向量(一维,二维)
- 顺序存储(数组)和链式存储(指针)的比较以及线性表小解义