问题标签 [google-benchmark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
33 浏览

c++ - 数组和 std::vector 的谷歌基准性能显示数组的 cpu 时间 = 0ns?为什么

我用谷歌基准测试了数组和向量的性能

关联:

https://quick-bench.com/q/ixWRn2XG8Q1-OnSFP6GXsadsw_g 您可以通过链接查看代码

结果:

在此处输入图像描述 它表明使用数组几乎没有成本,数组比向量快 2900000000 倍 ### 问题为什么会发生这种情况?

我的代码

0 投票
0 回答
28 浏览

c++ - 使用谷歌基准库时全局设置时间单位并使用挂钟时间?

我正在使用谷歌基准库来测量我自己的程序时间成本。

我发现我的程序时间成本是毫秒级别,但基准测试的默认时间单位是纳秒。

此外,它们中的许多都带有多线程,所以我更喜欢实时(挂钟时间)而不是默认的主线程的 CPU 时间。

对于一项特定的基准测试,我可以将其写为:

问题:是否可以全局使用毫秒和实时,即配置一次并始终使用它?

0 投票
0 回答
19 浏览

c++ - 随着时间的推移测量和绘制事件数量

我编写了一个简单的数据库库,并希望在固定的持续时间(比如 10 秒)内对其读/写性能进行基准测试。

从原理上讲,我想让两个线程竞争(一个读取,一个写入),并通过沿以下行进行采样来查看每个线程在给定时间执行的事件数:

然后,我想使用 pgfplots 绘制收集到的数据点(即在多个图中,每个图中使用经过的时间作为 x,事件计数作为 y)。

我想知道是否有图书馆或首选方式来做这样的事情。我最初考虑使用谷歌基准,但我对此完全陌生,不知道如何生成结果,因此我不会为每个生成的数据点获得一个新列。

0 投票
0 回答
42 浏览

c++ - Google 基准测试中的 Google 测试的“TestWithParam”替代方案?

在谷歌测试中,人们可以TestWithParam在夹具中使用自定义参数。也就是写一个继承testing::TestWithParam<Customed_Params>类的类,里面Customed_Params是我自己定义的类,里面保存着自定义的参数,比如int和string的混合。

但是在谷歌基准库(性能测试库)中,没有TestWithParam. 该类有Args()成员函数Benchmark,但它只接受int64_t类型参数,我的std::string类型参数不能传递。

IE

0 投票
1 回答
65 浏览

c++ - 如何更改 Google Benchmark 'Range()' 函数的增量、步长或比例

我有一个非常简单的 Google Benchmark 程序,它对采用两个整数参数的函数进行基准测试,我试图使用基准来查看随着第二个参数的值从1to增加,函数花费的时间究竟如何增加100,所以使用第一个参数保持相同的值999999

在我看来最合乎逻辑的实现方法是使用 Google Benchmark 的Ranges()函数,如下所示:

结果输出是这样的:

我的问题是,Google Benchmark 的范围似乎只从指数增加的值 1to 100,导致第二个参数只有 4 个不同值的 4 个基准,而不是我预期和想要1的100 个 100 个值的基准100.