benchmarking相关内容

如何在 Java 中编写正确的微基准测试?

你如何用 Java 编写(和运行)正确的微基准测试? 我正在寻找一些代码示例和注释来说明需要考虑的各种事情. 示例:基准测试应该测量时间/迭代还是迭代/时间,为什么? 相关:秒表基准测试是否可以接受? 解决方案 关于编写微基准测试的提示 来自 Java HotSpot 的创建者: 规则 0:阅读有关 JVM 和微基准测试的知名论文.一个很好的例子是 Brian Go ..
发布时间:2021-11-19 22:23:07 Java开发

Array vs Slice:访问速度

这个问题是关于访问数组和切片元素的速度,而不是关于将它们作为参数传递给函数的效率. 我希望数组在大多数情况下比切片更快,因为切片是一种描述数组连续部分的数据结构,因此可能会有额外的访问切片的元素(间接访问其底层数组的元素)时涉及的步骤. 所以我写了一个小测试来对一批简单的操作进行基准测试.有 4 个基准函数,前 2 个测试 全局 切片和全局数组,其他 2 个测试局部 切片和局部数组: ..
发布时间:2021-11-18 04:59:17 其他开发

为什么 push 方法比通过 Javascript 中的数组索引放置值慢得多

我很不明白为什么要进行此测试: http://jsperf.com/push-method-vs-setting-通过键 表明 a.push(Math.random()); 比 慢十倍以上 a[i] = Math.random(); 你能解释一下为什么会这样吗?什么神奇的“推动"使它变得如此缓慢?(或者与其他有效方法相比太慢了). 编辑 注意:推送测试是有偏见 ..
发布时间:2021-11-18 03:31:29 前端开发

如何加速C++中的矩阵乘法?

我正在用这个简单的算法进行矩阵乘法.为了更加灵活,我将对象用于包含动态创建的数组的矩阵. 将这个解决方案与我第一个使用静态数组的解决方案进行比较,它慢了 4 倍.我可以做些什么来加速数据访问?我不想改变算法. matrix mult_std(matrix a, matrix b) {矩阵 c(a.dim(), false, false);for (int i = 0; i ..
发布时间:2021-11-18 02:59:19 C/C++开发

A==0真的比~A好吗?

问题设置简介 我正在做一些基准测试,涉及 - ~A 和 A==0 对于 没有 NaNs 的双数组,两者都转换A 到一个逻辑数组,其中所有 zeros 都转换为 true 值,其余设置为 false 值. 对于基准测试,我使用了三组输入数据 – 非常小的数据 - 15:5:100 中小型数据 - 50:40:1000 大中型数据 - 200:400:3800 输入是用 A ..

为什么 ArrayList 总是比 LinkedList 快

昨天我在 Java 17 中运行了一个基准测试,我反复创建了一个新的 Arraylist 和 Linkedlist,并向其中添加了 10.000.000 个元素. 根据 LinkedList 的性质,添加元素(创建 LinkedObject 并将其放在最后)应该比添加到 ArrayList 快得多.(将整个数组复制到另一个稍大的数组中.) 像 arraycopy() 这样的原生函数真的 ..
发布时间:2021-11-18 00:32:35 Java开发

为什么要费心使用 ArrayList(int capacity)?

几乎所有与 ArrayList 容量相关的问题都是如何使用它或(奇怪地)访问它,我对这些信息非常熟悉.我感兴趣的是,如果您碰巧知道或大致了解 ArrayList 中将有多少项,是否真的值得使用设置容量的 ArrayList 构造函数? 是否有任何综合基准比较仅使用简单地将元素添加到 ArrayList 与预先设置 ArrayList 的容量所需的时间? 解决方案 显然,对于任何特定的 ..
发布时间:2021-11-18 00:12:52 Java开发

如何计算 ARM 处理器算法的 MIPS

我最近被要求为我们开发的算法生成 MIPS(每秒百万条指令).该算法由一组 C 风格的函数公开.我们在戴尔 Axim 上练习了代码,以对不同输入下的性能进行基准测试. 这个问题来自我们的硬件供应商,但我主要是一名 HL 软件开发人员,所以我不确定如何回应请求.也许有类似硬件/软件背景的人可以提供帮助... 由于我们的算法不是实时的,我认为我们不需要将其量化为 MIPS.是否可以简单地引 ..
发布时间:2021-11-17 22:05:24 其他开发

如何在多个 Linux 系统上同时运行相同的脚本

我有一个与延迟基准测试相关的问题.我在 5 台机器的集群中运行 Apache ZooKeeper(一个领导者,其余是追随者).还有另一台机器(客户端)用于对向协议发送请求进行排序. 我设法运行了一个基准程序,该程序持续预选的时间,旨在同时且连续地向每个 ZooKeeper 服务器发送请求.当预先选择的时间过去后,我可以看到延迟结果. 然而,上述基准测试仅使用一台客户端机器来运行基准测试 ..

表现不佳

我正在为我的硕士论文做性能测试,但我发现 Symfony2 简单应用程序的性能很差.这是一个简单的应用程序,一个查询和一些数学运算. 命令的测试结果: ab -c10 -t60 http://sf2.cities.localhost/app.php 服务器软件:Apache/2.2.20服务器主机名:sf2.cities.localhost服务器端口:80文件路径:/app.php文 ..
发布时间:2021-11-11 22:11:09 PHP

ab负载测试

有人可以引导我完成如何使用 apache bench 工具 (ab)? 我想知道以下内容: 网站每分钟可以处理多少人? 请引导我完成我应该运行的命令来解决这个问题. 我尝试了所有教程,但它们令人困惑. 解决方案 apache 基准测试工具非常基础,虽然它会给你一些性能的可靠概念,只依赖它是一个坏主意如果您打算让您的网站在生产过程中承受严重压力. 话虽如此,这里 ..
发布时间:2021-11-11 05:30:30 服务器开发

如何在 x86_64 上准确地对未对齐的访问速度进行基准测试?

在一个答案中,我已经说过未对齐的访问几乎与长时间对齐访问的速度相同(在 x86/x86_64 上).我没有任何数字来支持这个说法,所以我为它创建了一个基准. 您是否发现此基准测试有任何缺陷?你能改进它吗(我的意思是,增加 GB/秒,以便更好地反映事实)? #include #include 模板 __attribute__((noinline))void loop32(con ..
发布时间:2021-09-29 19:29:08 其他开发

Tensorflow Lite 基准测试应用说明

我正在使用 Tensorflow Lite Benchmark Android应用程序 在 Android 设备上测试我的模型.输出示例如下: 我们的平均推理时间:预热:83235,初始化:38467,推理:79760.9 虽然 Inference 的含义对我来说很清楚(即平均推理时间以微秒为单位),但我不知道什么是 Warmup 和 Init 指的是?不幸的是,文档 没有解释这一点. ..
发布时间:2021-09-05 20:06:02 其他开发

为什么线程显示出比协程更好的性能?

我编写了3个简单的程序来测试协程在线程上的性能优势.每个程序执行许多常见的简单计算.所有程序都彼此分开运行.除了执行时间,我还通过 Visual VM IDE插件测量了CPU使用率. 第一个程序使用 1000线程池进行所有计算.由于上下文频繁更改,因此这段代码显示了与其他代码相比最差的结果( 64326 ms ): val执行程序= Executors.newFixedThreadPoo ..
发布时间:2021-05-28 19:38:48 其他开发

为什么require("perf_hooks")失败?

据我了解,"perf_hooks"是Node.js的一部分.但是,当使用 npm test 进行测试时,它在以下情况下对我失败(某些文件名已更改): 错误:ENOENT:没有这样的文件或目录,请打开"perf_hooks"在Object.openSync(fs.js:465:3)在Object.readFileSync(fs.js:368:35)在SandboxedModule._getComp ..
发布时间:2021-04-15 19:23:45 前端开发

如何对Javascript DOM操作进行基准测试

我有两个执行相同功能的javascript函数:基于json对象创建菜单. 一个函数将所有 和 元素附加到变量,然后使用方法将HTML写入文档.innerHTML 第二个函数通过 createElement("ul")和 appendChild()方法创建DOM元素 所以我想知道哪个功能更快,但是我不知道如何在javascript中执行基准测试. 我的第 ..
发布时间:2021-04-15 19:23:41 前端开发

如何在Crypto ++库基准测试中运行?

有人可以帮助我如何在Crypto ++基准测试中运行吗? 我必须做一些测试.我找到了Crypto ++,但是我不知道如何在 Crypto ++ 中使用基准测试.我也想在安装库之后运行它们. 感谢您的帮助. 解决方案 有人可以帮助我如何在Crypto ++基准测试中运行吗? $ cd cryptopp-src$使静态cryptest.exe$ ./cryptest.exe ..
发布时间:2021-04-15 19:23:38 其他开发

Neo4j查询执行时间:多次执行同一查询时,似乎只有第一个是正确的

我正在使用LDBC数据集来测试Neo4j 4.0.1中的执行时间,SF = 1,我使用Java连接Neo4j ResultSummary.resultAvailableAfter()来获取执行时间,这是获取结果的时间并开始流式传输.但是对于同一查询,当我第一次运行时,执行时间似乎很合理,就像几百毫秒一样,但是当我继续运行同一查询时,执行时间几乎变为0.我想这是查询缓存的作用,但是有没有适当的方法来 ..
发布时间:2021-04-15 19:23:35 其他开发

为什么将Integer转换为String时String.valueOf比字符串连接快?

这是问题的反面.它不是重复.相反,它源于此答案,其中的基准声称 t.setText(String.valueOf(number))快于 t.setText("+数字),以及ChristianB关于为什么的问题. 解决方案 添加字符串会导致编译器创建 StringBuilder 实例,然后对每个添加的元素进行追加调用,然后对 StringBuilder.toString()来创建结果级联的 ..
发布时间:2021-04-15 19:23:32 Java开发