为什么std::valarray会很慢。

本文作者通过对比实验发现,std::valarray在执行计算时的性能显著低于普通循环和直接使用指针访问。尽管std::valarray提供了丰富的操作,但在VCdebug模式下,由于额外的检查导致性能下降。后续文章将探讨优化策略。
摘要由CSDN通过智能技术生成

(sguox002原创作品,欢迎批评,转载请保留作者信息)

std::valarray有着很多吸引人的特性。比如下标数组,切割,逻辑,算术运算。我们慢慢学习。

在这之前,我想看一下这个类的性能如何,因此我编了一个小程序,来做同样的计算。结果发现valarray要比普通的循环要慢得多。我将会在另一片文章中说明如何解决这个问题。

#include <iostream>

#include <valarray>
#include <iostream>
#include "windows.h"


using namespace std ;


class hptime
{
LARGE_INTEGER sys_freq;
public:
hptime(){QueryPerformanceFrequency(&sys_freq);}   


double gettime()
{
LARGE_INTEGER tick;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值