问题标签 [jsperf]

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 回答
218 浏览

sql - 如何优化这个低性能的 MySQL 查询?

我目前正在对 jsPerf 使用以下查询。在可能的情况下,您不知道 jsPerf — 有两个表:pages包含测试用例/修订版,以及tests包含测试用例中测试的代码片段。

中目前有 937 条记录pages和 3817 条记录tests

如您所见,加载使用此查询的“Browse jsPerf”页面需要相当长的时间。

查询执行大约需要 7 秒:

我已经为出现在WHERE子句中的所有字段添加了索引。我应该添加更多吗?

如何优化此查询?

PS 我知道我可以在 PHP 中实现一个缓存系统——我可能会,所以请不要告诉我 :) 我真的很想知道如何改进这个查询。

0 投票
1 回答
480 浏览

javascript - JS中的函数声明速度差异

我运行了一个简单的 jsperf 测试,在 Firefox 中运行时一切都按预期进行,但是当我在 Google Chrome 中运行测试时,我感到很困惑。

该测试正在测试在 JavaScript 中声明函数然后调用它们的不同方式。我的猜测是 Chrome 正在对 JavaScript 函数进行某种优化,但我不确定是什么或为什么会有如此大的差异。非常感谢任何有助于更好地理解这一点的帮助或链接。

链接到测试 => http://jsperf.com/function-assignment-semicolon/2

在 Firefox 中测试运行:

替代文字

在 Chrome 中测试:

替代文字


编辑:

我期待我从 Firefox 获得的结果,因为我希望它们 - 每次测试都差不多 - 比在 Google Chrome 中运行时慢

0 投票
2 回答
10919 浏览

javascript - jsPerf 如何确定哪个代码片段最快?

今天我访问了jsPerf,现在我想知道......</p>

  1. 什么是“操作/秒”?
  2. 它做了多少次迭代?
  3. 它根据什么计算哪个更快?这些计算背后的公式是什么?

示例:http: //jsperf.com/concatenation-vs-join

谁能告诉我?

0 投票
1 回答
1334 浏览

javascript - 解释这个 JsPerf.com 结果

我在这个网站 http://jsperf.com/上进行了测试

这是我运行的 jsperf 测试的屏幕截图

我想要有人解释

  1. 绿色和粉色代表什么
  2. 什么是每秒操作数
  3. 什么是 95,814,583
  4. 什么是 +- 1.95% 是
  5. “最快”和“较慢”是什么意思
0 投票
8 回答
188153 浏览

javascript - 将文本添加到字符串的开头

在字符串开头添加新值的最快方法是什么?

0 投票
2 回答
1018 浏览

javascript - Firefox 中的大子字符串比 Chrome 快约 9000 倍:为什么?

基准:http: //jsperf.com/substringing

因此,我正在启动我的第一个基于 HTML5 浏览器的客户端项目。它必须将非常非常大的文本文件解析为一个或多个对象数组。我知道我将如何进行编码;我现在主要关心的是尽可能快地获取解析器代码,我的主要测试平台是 Chrome。然而,在查看子字符串方法之间的差异时(我已经很久很久没有接触过 JavaScript),我注意到与 FireFox 相比,Chrome 中的这个基准测试非常慢。为什么?

我的第一个假设是它与 FireFox 的 JS 引擎处理字符串对象的方式有关,并且对于 FireFox,此操作是简单的指针操作,而对于 Chrome,它实际上是在进行硬拷贝。但是,我不确定为什么 Chrome不会进行指针操作或 FireFox. 有人有一些见识吗?

JSPerf 似乎正在丢弃我的 FireFox 结果,而不是在 BrowserScope 上显示它们。对我来说,我.substr()在 FF4 中获得了 9,568,203 ±1.44% Ops/sec。

编辑:所以我在 Chrome 下方看到了 FF3.5 的性能结果。所以我决定测试我的指针假设。这使我对Substrings 测试进行了第二次修订1,092,718±1.62%,在 FF4 中执行 Ops/sec 与1,195±3.81%Chrome 中的 Ops/sec 相比,速度降低到仅快 1000 倍,但在性能上仍然存在莫名其妙的差异。

后记: 不,我一点也不担心 Internet Explorer。我担心试图提高我的技能并更深入地了解这种语言。

0 投票
3 回答
226 浏览

jquery - 最小化 jQuery 实例与创建更多实例

我开始了一系列关于 javascript / jQuery 优化的帖子,并偶然发现了这个有趣的结果。

为什么最小化 jQuery 对象(通过从缓存的 jQuery 集合中搜索)比创建更多 jQuery 对象实例要慢?

看到自己准备的测试结果,我惊呆了。我一直认为最小化创建 $ 实例会更慢。

这是我习惯写的,因为我缓存了父级(我称之为“appRoot”)。

对比

查看测试结果(略有不同的场景)。 jsperf minimize-jquery-object-creation事实证明,缓存的片段比未缓存的片段慢。

我试图理解为什么?

0 投票
1 回答
1144 浏览

javascript - 适用于 IE 的 jsperf 替代方案?

我一直在尝试使用jsperf.comjquery 和 ext js 来测试一些代码。它在 Firefox 和 chrome 中运行良好,但其中很多在 Internet Explorer 中无法运行。有谁知道 jsperf 的任何替代品适用于 IE 吗?

在 chrome、firefox 和 IE 中试试这个例子。它在 chrome 和 firefox 中运行良好,但是一旦我在 IE 中尝试它,它就会给我一个错误。更让我困惑的是,我可以自己在 IE 中打开它,但不能通过 jsperf。

0 投票
0 回答
157 浏览

javascript - 为什么 jsperf.com 上的以下 Javascript 测试会中断?

今天我想运行一些非常简单的测试来确定 JavaScript 中几个非常简单的任务的性能。其中一个 - 导致问题 - 是在数组的末尾添加一个元素。

无论我使用什么浏览器,这个测试要么停止,要么中断(使用 Chrome:“Aw,Snap!”),更不用说测试给出的误差范围在 60% 到 >200% 之间。这看起来至少是假的,因为我在 jsperf 上进行的每一次测试都产生了很好的结果......

我也请朋友进行过这个测试,但问题似乎是一样的。有没有人知道可能导致这种情况的原因?

测试 URL 是这样的:http: //jsperf.com/adding-elements-to-array-using-push-and-length

0 投票
3 回答
474 浏览

jquery - jQuery - 为什么用字符串类创建对象($('
')) 比创建同一个对象并执行 addClass() 方法慢吗?

谁能解释我为什么通过字符串创建对象比同一个对象慢并在 jQuery 中执行 addClass() 方法?

我认为 addClass() 方法会更慢,但事实并非如此。我想知道为什么?

看看这个 jsPerf - http://jsperf.com/jquery-append-with-class-and-with-method-addclass