AAuto table数据类型的速度测试

用C++相应的数据类型与AAuto的table类型比较。

AAuto代码:

import time.performance;
io.open()
//数组
tk=time.performance.tick()
a={}
for(i=1;1000000)
  a[i]=i
io.print(time.performance.tick()-tk)
//哈希表
tk=time.performance.tick()
b={}
for(i=1;2000000;2)
  b[i]=i
io.print(time.performance.tick()-tk)
//raw指针
cdata = raw.malloc( 10000000 )
tk=time.performance.tick()
for(i=1;1000000)
  cdata[i] = i
io.print(time.performance.tick()-tk)
execute("pause")
io.close()
运行结果:数组106毫秒,哈希表272毫秒,raw指针61毫秒。
C++代码:

#include<iostream>
#include<iostream>
#include<unordered_map>
using namespace std;
__declspec (naked) unsigned __int64 GetCpuCycle( void ) 
{ 
	_asm 
	{
		rdtsc
			ret
	}
}
const double CPUHZ=3e9;
double clockp()
{
	return 1000*GetCpuCycle()/CPUHZ;

}

int main()
{
	//数组
	vector<int> a;
	double t=clockp();
	for(int i=1;i<1000000;++i)
		a.push_back(i);
	cout<<clockp()-t<<endl;
	//哈希表
	tr1::unordered_map<int,int> b;
	t=clockp();
	for(int i=1;i<2000000;i+=2)
		b[i]=i;
	cout<<clockp()-t<<endl;
	//指针
	int* c=new int[1000000];
	t=clockp();
	for(int i=0;i<1000000;++i)
		c[i]=i;
	cout<<clockp()-t<<endl;
	delete[] c;
	return 0;
}

运行结果:数组10毫秒,哈希表351毫秒,指针2毫秒。

由此可见,AAuto的哈希表实现的性能很好。

注:系统配置 WinXP SP3,intel core2 CPU Quad Q8300 2.50GHz,内存金士顿两条共4GB。

你可能感兴趣的:(c,测试,table,import,BT)