几种交换方式与参数传递方式效率的比较,发现STL最慢
来源:互联网 发布:linux查看空间使用情况 编辑:程序博客网 时间:2024/06/05 21:50
/*Copyright (c) 2007,九天雁翎
* All rights reserved.
* 几种交换方式与参数传递方式效率的比较
* 完成日期:2007年7月7日*/
#include "stdafx.h"
#include "myself.h"
#include <iostream>
#include <utility>
using namespace std;
const int RUNTIME = 1e5;
void swap1(int &v1, int &v2);
void swap2(int &v1, int &v2);
void swap3(int *p1, int *p2);
int main()
{
int v1 = 10000;
int v2 = 20000;
double t1 = myself::getTime();
for (int i = 0; i < RUNTIME; ++i)
{
swap1(v1,v2);
}
double t2 = myself::getTime() - t1;
cout <<v1 <<'/t' <<v2 <<endl;
cout <<"Reference pass parameter and bit^ way used time: "<<t2 <<endl;
t1 = myself::getTime();
for (int i = 0; i < RUNTIME; ++i)
{
swap2(v1,v2);
}
t2 = myself::getTime() - t1;
cout <<v1 <<'/t' <<v2 <<endl;
cout <<"Reference pass parameter way used time: "<<t2 <<endl;
t1 = myself::getTime();
for (int i = 0; i < RUNTIME; ++i)
{
swap3(&v1,&v2);
}
t2 = myself::getTime() - t1;
cout <<v1 <<'/t' <<v2 <<endl;
cout <<"Point pass parameter way used time:" <<t2 <<endl;
for (int i = 0; i < RUNTIME; ++i)
{
swap(v1,v2);
}
t2 = myself::getTime() - t1;
cout <<v1 <<'/t' <<v2 <<endl;
cout <<"STL way used time: " <<t2 <<endl;
return 0;
}
void swap1(int &v1, int &v2)
{
v1 = v1^v2;
v2 = v1^v2;
v1 = v1^v2;
}
void swap2(int &v1, int &v2)
{
int temp = v1;
v1 = v2;
v2 = temp;
}
void swap3(int *p1, int *p2)
{
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
结果是,指针效率一般最快,STL最慢,按位或没有效率优势,你可以改变RUNTIME去试试不同结果
- 几种交换方式与参数传递方式效率的比较,发现STL最慢
- c++函数参数传递效率比较,初始化的全局变量方法果然是最快的,而堆方式最慢.
- 静态参数传递的几种方式
- 实现参数传递的几种方式
- 几种参数传递方式
- 经济学的思维方式读书笔记:第二章 效率,交换与比较优势
- PB中的几种参数传递方式
- 在asp.net中参数传递的几种方式
- form action参数传递的几种方式
- Delphi过程函数传递参数的几种方式
- 不同页面之间实现参数传递的几种方式
- jquery调用webservice传递参数的几种方式
- 几种参数传递的性能与安全性比较
- 两个数据交换的几种方式
- 实现变量交换的几种方式
- Java变量交换的几种方式
- 两个变量交换的几种方式
- 几种常见SQL分页方式效率比较
- javascript 防止盗链???
- 换手成交
- 搜索与商务隐秘关系 进军B2B?百度或可为,GOOGLE准没戏!(转载自:donews:故乡的云)
- ubuntu下的截图软件,scrot
- 20070707有感
- 几种交换方式与参数传递方式效率的比较,发现STL最慢
- 大家来谈谈分页显示的看法
- 应届 的无奈
- JAVA2核心技术阅读笔记(一)
- 软件开发公司管理手册 (上)
- 清理VS2005最近项目记录
- 软件开发公司管理手册 (下)
- Google优化-设计与内容优化
- 如何组织一个高效的开发团队