c++ 各种求min/max方法效率测试

本文对C++中不同方式求min进行了效率测试,包括int、long long、double类型的单变量和表达式,以及包含适量变量的struct。测试执行了109次min操作,以STL作为基准比较。结果显示,使用#define在大部分情况下最快,但耗时主要集中在表达式计算上。当类型创建成本高时,传引用的函数比不传引用的有优势。结论建议,除非有特定需求,通常使用STL提供的min函数即可。
摘要由CSDN通过智能技术生成

由于min跟max是等价的,下面只对求min进行测试
每次测试执行min 109次,记录时间(单位:秒)
耗时以STL为参考基准


运行环境
Windows 7 32-bit on Intel Pentium G2030 @ 3.0GHz
编译器
MinGW GCC 4.8.1 32-bit Release
附加命令
-g -Wall -Wl,-stack,100000000


int 单变量

测试次数 Test 1 Test 2 Test 3 Avg 百分比
for循环 2.121 2.106 2.090 2.106 56.2%
STL 3.744 3.744 3.744 3.744 100.0%
普通函数 3.386 3.385 3.401 3.391 90.6%
inline普通函数 3.432 3.448 3.401 3.427 91.5%
传引用函数 3.229 3.073 3.058 3.120 83.3%
inline传引用函数 3.447 3.401 3.400 3.416 91.2%
define 2.387 2.387 2.403 2.392 63.9%

int 表达式

测试次数 Test 1 Test 2 Test 3 Avg 百分比
for循环 2.091 2.090 2.106 2.096 30.0%
STL 7.004 6.973 6.973 6.983 100.0%
普通函数 6.178 6.178 6.178 6.178 88.5%
inline普通函数 6.162 6.162 6.162 6.162 88.2%
define 5.273 5.288 5.289 5.283 75.7%

long long 单变量

测试次数 Test 1 Test 2 Test 3 Avg 百分比
for循环 2.169 2.090 2.106 2.122 51.6%
STL 4.118 4.103 4.103 4.108 100.0%
普通函数 5.507 5.476 5.491 5.491 133.7%
inline普通函数 5.491 5.491 5.507 5.496 133.8%
传引用函数 3.853 3.837 3.853 3.848 93.7%
inline传引用函数 3.838 3.838 3.838 3.838 93.4%
define 2.075 2.044 2.090 2.070 50.4%

long long 表达式

测试次数 Test 1 Test 2 Test 3
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值