AAuto table数据类型的速度测试

本文通过实验证明,在特定系统配置下,C++的数据类型在数组、哈希表和指针操作上展现出优于AAuto的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值