草庐IT

c++ - 令人惊讶的基准测试结果

看完泰特斯·温特斯的"LiveatHead"谈话,他提到StrCat()是人们最喜欢的功能之一,我决定尝试实现类似的东西,看看我是否可以击败std::string::append(或operator+,我认为它在内部使用append)运行时性能。我的理由是,作为可变参数模板实现的strcat()函数将能够确定其所有类似字符串的参数的组合大小,并进行一次分配以存储最终结果,而不必在以下情况下不断重新分配operator+,它不知道调用它的总体上下文。但是,当我在quick-bench上将我的自定义实现与operator+进行比较时,我发现我的strcat()实现比使用-std=c++17

c++ - 基准测试 (gprof) C++ 程序。使用eclipse环境

我遇到了以下问题。事实;-使用eclipse-使用MinGW我想对我创建的C++程序进行基准测试。我搜索谷歌然后来了;http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html然后我想添加“-pg”构建命令。但是我如何/在哪里添加它?我进入“属性-C/C++构建-发现选项”并将其添加到“编译器调用命令”(http://img515.imageshack.us/img515/3159/67826349.png),但据我在控制台中所见,它什么也没做。那我做错了什么? 最佳答案 根据您的项目

c++ - 对一段独立于 CPU 性能的代码进行基准测试?

我的目标是:我想测试一段代码(或函数)的性能,就像我在单元测试中测试该函数的正确性一样,比如说这个对标过程是一个“便携”的“功能性能指标”我的问题是:我们通常通过使用计时器来计算代码执行期间耗时来对代码进行基准测试。并且该方法取决于硬件或操作系统或其他因素。我的问题是:是否有一种方法可以获得独立于主机性能(CPU/OS/等)的“功能性能指标”,或者如果不是“独立的””可以说它是“相对于”某个固定值的。因此“功能性能指标”的值在某种程度上在任何平台或硬件性能上仍然有效。例如:FPI值可以用执行一次调用所需的算术指令数与基准函数相比的浮点值,例如函数B的评级指数为1.345(性能比基准函数

c++ - 刷新缓存以防止基准测试波动

我正在运行某人的C++代码来对数据集进行基准测试。我遇到的问题是,我经常得到第一次运行的时间,如果我再次运行相同的代码,这些数字会发生巨大变化(即28秒到10秒)。我假设这是由于CPU的自动缓存而发生的。有没有办法刷新缓存,或者以某种方式防止这些波动? 最佳答案 不是一个“适用于所有地方”的工具。大多数处理器都有刷新缓存的特殊指令,但它们通常是特权指令,因此必须从操作系统内核内部完成,而不是用户模式代码。当然,对于每个处理器架构,指令都是完全不同的。所有当前的x86处理器都有一条clflush指令,可以刷新一个缓存行,但要做到这一点

java - 是否有 Java 与 C++ 的真实世界基准?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关闭9年前。要求提供代码的问题必须表现出对所解决问题的最低限度的理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。Improvethisquestion在我回答这个问题之前,请注意这个问题不是什么:Jav

c++ - 用于随机插入/删除的综合 vector 与链表基准

所以我知道this问题,以及其他处理问题的SO,但其中大部分处理数据结构的复杂性(只是复制到这里,链接这个理论上有O(我理解复杂性似乎表明列表会更好,但我更关心现实世界的表现。注意:这个问题的灵感来自slides45and46ofBjarneStroustrup'spresentationatGoingNative2012他在其中谈到了处理器缓存和引用位置如何真正帮助vector,但对列表根本没有(或不够)帮助。问题:是否有一种使用CPU时间而不是墙时间来测试它的好方法,并获得一种“随机”插入和删除可以事先完成的元素的好方法,所以它确实如此不影响时间?作为奖励,如果能够将其应用于两个任

c++ - HBase 上的 Thrift 是否有任何性能基准?

我有一个系统可能会向hbase写入大量数据。系统是c++写的,发现hbase有其他语言的thrift接口(interface)。我的问题是,是否有针对HBase上的Thrift的任何性能基准?与javanativeapi相比最大的缺点是什么? 最佳答案 我推荐最近两篇有关此主题的博文:HBase+Thriftperformancepart1HBase+Thriftperformancepart2这两篇文章给出了将Thrift与HBase结合使用的详细性能测量结果。 关于c++-HBase

c++ - 简单的for()循环基准测试与任何循环绑定(bind)都花费相同的时间

我愿意编写使我的CPU执行某些操作的代码,并查看他花费多少时间来解决这些问题。我想做一个从i=0到iPD:我昨天开始学习C++,很抱歉,如果这是一个很容易回答的问题,但找不到解决方案#include#includeusingnamespacestd;intmain(){intstart_s=clock();inti;for(i=0;i 最佳答案 顺便说一句,如果您实际上完成了i,则gcc和clang在具有32位int(包括x86和x86-64)的系统上创建一个无限循环。49058349083大于INT_MAX。大字面量会隐式提升为足

c++ - 您将如何对函数的性能进行基准测试?

这可能是一个更高级的问题。如果您有两个返回值的函数,intF(intinput1,intinput2){intoutput;//returnoutput;}intD(intinput1,intinput2){intoutput;//returnoutput;}条件是F(a,b)==D(a,b)(对于相同的输入,两者都返回相同的值)。如果您想对他们的表现进行基准测试,您会怎么做?更准确地说,您将如何隔离执行F(a,b)或D(a,b)所花费的时间,使其不strong>反射(reflect)基准设置中其他辅助操作所花费的时间? 最佳答案

python - 基准矩阵乘法性能 : C++ (eigen) is much slower than Python

我正在尝试评估与C++相比,Python的性能有多好。这是我的Python代码:a=np.random.rand(1000,1000)#typeisautomaicallyfloat64b=np.random.rand(1000,1000)c=np.empty((1000,1000),dtype='float64')%timeita.dot(b,out=c)#15.5ms±560µsperloop(mean±std.dev.of7runs,100loopseach)这是我在发布机制中使用Xcode编译的C++代码:#include#include#includeusingnamespa