首页 > 其他分享 >关于右值引用测试

关于右值引用测试

时间:2024-11-11 20:09:04浏览次数:1  
标签:cout 右值 int void clock steady 引用 测试 include

不论在win: vs,gcc 测试,使用RightValue,性能出现下降

 

 

在Llvm下,使用RightValue,性能也出现下降:

 

测试参考之前的博客代码,现有的代码也可以:

#include <iostream>
#include <vector>
#include <utility>
#include <chrono>
using namespace std;
using namespace std::chrono;

struct A{
int a = 1000;
int b;
char c;
short s;
char cc[22];
};

void Recurve(int n,A a){
    //cout<<n<<endl;
    a.a--;
    if(n > 0)
        Recurve(n-1,a);
}
void RecurveRe(int n,A& a){
    //cout<<n<<endl;
    a.a--;
    if(n > 0)
        RecurveRe(n-1,a);
}
void RecurveRV(int n,A&& a){
    //cout<<n<<endl;
    a.a--;
    if(n > 0)
        RecurveRV(n-1,forward<A>(a));
}

class Timer
{
public:
    void Start()
    {
        start = steady_clock::now();
    }
    void Stop()
    {
        std::chrono::steady_clock::time_point end = steady_clock::now();

        steady_clock::duration time_span = end - start;
        cout << "total time" << duration_cast<nanoseconds>(time_span).count() << endl;
    }
    std::chrono::steady_clock::time_point start;

};

int test()
{
    A a;
    Timer t;

    t.Start();

    Recurve(10000,a);
    //RecurveRe(1000,a);
   // RecurveRV(1000,move(a));
    cout<<"endl"<<endl;
    //Enum(v, n, count);
    t.Stop();
    return 0;
}

  

标签:cout,右值,int,void,clock,steady,引用,测试,include
From: https://www.cnblogs.com/yang131/p/18540468

相关文章

  • 今年测试这工资是认真的吗?
    ......
  • 【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
    威哥,第一次给你发消息就是求教一个问题呢,近期我在优化系统查询的时候,在测试环境优化达标,但是发布到生产后,发现从客户端发起请求到接收响应,多花了1秒(测试环境的库数据量和生产一致)。测试环境的库在内网,服务器的库是阿里云的RDS杭州节点。我们的服务器机房在成都,使用系统群体也绝大......
  • 带你了解API测试的方法
    以下是常见的API测试方法:一、冒烟测试:目的:在API开发完成后快速验证其是否能够正常工作,属于一种初步的、表面级的测试,用于确定是否值得进行更深入的测试。测试要点:只需关注API的基本功能是否可用,例如能否成功调用、是否有明显的调用不通或报错等严重故障。该测试通常使......
  • 代码静态测试工具Klocwork 2024.3
    HelixQAC2024.3附带适用于Windows和Linux的基于Qt的新安装程序,并增强了对ValidateSAML/OIDC身份验证的支持。此版本还包括对某些环境的Dataflow稳健性的改进,以及整个产品中的许多生活质量增强功能。  Jumpto你喜欢的部分��C++分析增强功能Validate平台改进......
  • 渗透测试中登录框骚操作总结(非常详细)零基础入门到精通,收藏这一篇就够了
    由于测试过程中很多系统我们能接触到的只有一个登陆界面,所以要充分挖掘漏洞,进行深入操作登录注册万能密码绕过登录存在SQL注入的情况下,有可能使用万能密码直接登录admin'or'1'='1'--``admin'OR4=4/*``"or"a"="a``'or''='``'or1=1--有超级多登录口SQL......
  • 暂时关闭EXTI外部中断的一个坑 HK32(stm32没有测试过)
    一开始的外部中断是通过这个宏函数来关闭的和开启#defineDisableEXTI_Key()(EXTI->IMR&=~((1<<KEY1_Pin)+(1<<KEY2_Pin)+(1<<KEY3_Pin)))//PA0、PC2、3#defineEnableEXTI_Key()(EXTI->IMR|=((1<<KEY1_Pin)+(1<<KEY2_Pin)+(1<<KEY3_Pin)))......
  • ubuntu 快速测试 cpu 基准水平
    Geekbench6https://www.geekbench.com/命令sudoaptinstallwgettar-ywgethttps://cdn.geekbench.com/Geekbench-6.3.0-Linux.tar.gz&&tar-xvzfGeekbench-6.3.0-Linux.tar.gz&&cdGeekbench-6.3.0-Linux./geekbench_x86_64结果分析完成后会提供链接,打开......
  • 算法性能测试基础
    算法的性能测试是一个综合评估算法在不同条件下的表现和效率的过程。在进行算法性能测试时,需要关注多个关键指标,以确保全面、准确地评估算法的性能。以下是对算法性能测试的详细解释和需要关注的指标的归纳:一、算法性能测试概述算法性能测试的目的是验证算法在各种输入情况下的......
  • 反射API中的`getMethod`和`invoke`反射在测试中的应用?
    在测试中,反射可以用来访问和调用私有方法、设置私有字段的值,或者创建原本无法访问的类的实例。这些能力在单元测试中尤其有用,因为它们允许测试代码与被测试代码之间的耦合度降低,同时提供了更多的测试覆盖率。以下是一个简单的例子,说明如何使用反射在JUnit测试中调用一个类的私......
  • D-FINE环境搭建&推理测试
    ​ 引子        在目标检测领域,内卷严重的实时目标检测(Real-timeObjectDetection)领域,性能与效率始终是难以平衡的核心问题。绝大多数现有的SOTA方法仅依赖于更先进的模块替换或训练策略,导致性能逐渐趋于饱和。前阵子YOLOv11横空出世(感兴趣的童鞋可以移步YOLOv11......