问题标签 [benchmarking]

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 投票
3 回答
271 浏览

benchmarking - 在进行基准测试时,什么会使经过的 CPU 时间少于用户 CPU 时间

跟进我之前提出的一个问题

我最终得到了一个用户 CPU 时间和总 CPU 时间,其持续时间比实际经过的时间长约 4%。根据对我之前的问题的接受回答,我不明白怎么会是这样。谁能解释一下?

0 投票
4 回答
5302 浏览

python - 如何在 Python 中进行“基于性能”(基准)的单元测试

假设我的代码库具有尽可能高的单元测试覆盖率。(超过某个点,增加覆盖率并没有很好的投资回报率。)

接下来我要测试性能。对代码进行基准测试以确保新提交不会不必要地减慢速度。我对 Safari对提交减速的零容忍政策非常感兴趣。我不确定这种对速度的承诺水平对于大多数项目是否具有良好的投资回报率,但我至少希望收到速度倒退发生的警报,并能够对此做出判断。

环境是 Linux 上的 Python,对 BASH 脚本也适用的建议会让我非常高兴。(但 Python 是主要焦点。)

0 投票
4 回答
266 浏览

c - 不合逻辑的基准测试?

我目睹了以下奇怪的行为。我有两个功能几乎相同 - 它们测量执行某个操作所需的周期数。在一个函数中,在循环内我增加了一个变量;在其他什么都没有发生。这些变量是易变的,因此它们不会被优化掉。这些是功能:

那里有一些非标准功能,但我相信你会管理的。

问题是,第一个函数返回4,而第二个函数(据说做的更少)返回6,尽管第二个显然比第一个做的少。

这对任何人都有意义吗?

实际上,我创建了第一个函数,这样我就可以减少测量第二个函数的循环开销。你知道如何做到这一点(因为这种方法并没有真正削减它)?

我在 Ubuntu 上(我认为是 64 位)。

非常感谢。

0 投票
2 回答
2255 浏览

php - 基准测试 PHP 与 Pylons

我想对 PHP 和 Pylons 进行基准测试。我希望我对两者的比较尽可能均匀,所以这就是我想出的:

  • 带有 APC 的 PHP 5.1.6,使用 smarty 模板连接到 MySQL 数据库
  • Python 2.6.1,使用 Pylons 和 mako 模板连接同一个 MySQL 数据库

我应该在该设置中更改什么以使其进行更公平的比较吗?

我将在几乎没有任何活动、2G 内存和 4 个内核的备用服务器上运行它。

关于我应该或不应该如何对它们进行基准测试的任何建议?我计划使用 ab 进行实际的基准测试。

有关的

0 投票
7 回答
24872 浏览

arm - 如何为 ARM 处理器的算法计算 MIPS

最近有人要求我为我们开发的算法生成 MIPS(每秒百万条指令)。该算法由一组 C 风格的函数公开。我们已经在戴尔 Axim 上运行了代码,以对不同输入下的性能进行基准测试。

这个问题来自我们的硬件供应商,但我主要是一个 HL 软件开发人员,所以我不知道如何回应这个请求。也许具有类似硬件/软件背景的人可以提供帮助...

  1. 由于我们的算法不是实时的,我认为我们不需要将其量化为 MIPS。是否可以简单地引用汇编指令的总数?

  2. 如果 1 为真,那么一般或专门针对 ARM/XScale,您如何执行此操作(即如何测量汇编指令的数量)?

  3. 2 可以在 WM 设备上执行还是通过 VS2005 中提供的 Device Emulator 执行?

  4. 3可以自动化吗?

非常感谢你的帮助。查尔斯


感谢你的帮助。我认为 S.Lott 击中了钉子。作为后续行动,我现在有更多问题。

5 关于如何测量 MIPS 的任何建议?我听说有人建议运行我们的算法并将其与 Dhrystone/Whetstone 基准进行比较以计算 MIS。

6 既然算法不需要实时运行,那么MIPS真的是一个有用的度量吗?(例如阶乘(N))还有哪些其他方法可以量化处理要求?(我已经测量了运行时性能,但这不是一个令人满意的答案。)

7 最后,我假设 MIPS 是一个粗略的估计,并且会是依赖的。关于编译器、优化设置等?

0 投票
3 回答
4361 浏览

ruby-on-rails - 了解 Ruby on Rails 渲染时间

我正在对我的应用程序进行“优化”,并试图了解 rails(2.2.2 版)在渲染结束时给出的输出。

这是“旧”方式:

而“新”的方式:

这些查询完全相同,不同之处在于旧方式是解析日志文件,而新方式是查询数据库日志表。

页面的实际速度不是问题(用户理解这是一个缓慢的请求)......但我希望页面尽快响应,即使它是一个“慢”页面。

所以,我的问题是,这些数字代表/意味着什么?换句话说,哪种方式更快,为什么?

0 投票
2 回答
746 浏览

httpwebrequest - 服务器基准测试:服务器可以处理多少个 http 请求?

我正在创建一个应用程序,它每 200 毫秒将测量数据从手机发送到服务器。数据必须实时处理,但我注意到发送时间和进程启动时间之间的差异越来越大,所以我必须找到请求卡住的点。

我正在以 httpwebrequest 表单 (http://testserver/submitdata?ax=value1&ay=value2&az=value3) 发送请求,并且在我使用在 WCF 中创建的 RESTful 服务的服务器上。

无论如何,是否有任何基准测试工具可以测试服务器可以处理多少请求,或者是否有任何其他实用的方法来确定每秒处理的最大请求数而不会造成延迟?

谢谢!

0 投票
4 回答
596 浏览

programming-languages - 作为语言基准的微不足道的数学问题

为什么人们坚持使用微不足道的数学问题,例如在斐波那契数列中寻找数字作为语言基准?这些通常不会针对相对论速度进行优化吗?首当其冲的瓶颈不是通常在 I/O、系统 API 调用、对字符串和结构的操作、处理大量数据、抽象的面向对象的东西等方面吗?

0 投票
3 回答
169 浏览

performance - 如何查找 RESTful 服务性能不佳的原因?

我正在创建一个从手机接收一些数据并将其保存到数据库的服务。

手机每 250 毫秒发送一次数据。当我注意到数据存储的延迟正在增加时,我尝试运行 WireShark 并写入日志。

我注意到来自手机的网络请求正在毫无延迟地发出(使用 WireShark 检查),但在服务日志中,我注意到每隔一秒半或几乎两秒就会收到请求。

有谁知道问题出在哪里或测试和确定这种延迟原因的方法?

我正在使用 WCF (webHttpBinding) 创建一个服务,数据库是 MS SQL。顺便说一句,日志存储了http请求的时间以及将数据写入数据库的时间。如上所述,每 1.5 - 2 秒接收一次请求,之后需要 50 毫秒将数据存储到数据库中。

谢谢!

0 投票
3 回答
4408 浏览

c# - 为什么是列表.ForEach 比标准 foreach 快吗?

考虑一下:

必备:

标准foreach:

内置foreach:

我尝试过将它们相互定时,内置的 foreach 速度提高了 2 倍,这似乎很多。

我已经用谷歌搜索了,但我似乎找不到任何答案。

另外,关于:在 .NET 中,哪个循环运行得更快,“for”还是“foreach”?

据我所知,它的执行速度并不比标准 foreach 快。