草庐IT

Performance

全部标签

javascript - forEach 在删除前一个元素时跳过一个元素

我有两个数组,available_items和requested_items。我想从requested_items中删除available_items中缺少的元素。使用forEach显然不会给出预期的结果,因为即使删除一个元素并且下一个元素将具有旧索引,内部索引也会增加。这是一个测试用例(也在thisjsbin中):varavailable_items=[2,5,9,36,48,23];varrequested_items=[5,12,49,30,90,17];requested_items.forEach(function(v,i,a){if(available_items.inde

javascript - React js 性能工具插件抛出 "Cannot read property ' 未定义的计数”

我对如何使用React的性能工具感到困惑。我目前的使用情况如下图:varPerf=React.addons.Perf;Perf.start();this.setState({newState:newStateObject,},function(){Perf.printInclusive();Perf.stop();});这不会在页面上呈现任何内容并脱口而出UncaughtTypeError:Cannotreadproperty'counts'ofundefined 最佳答案 参见https://github.com/facebook

javascript - 进行集合减法的最快方法

我有两套。Setb是Seta的子集。它们都是非常大的集合。我想从a中减去b,执行此常见操作的最佳做​​法是什么?我写过很多这样的代码,但我觉得效率不高。你有什么想法?伪代码:(这不是JavaAPI)。for(inti=0;i我想找到一种算法,不仅适用于集合,也适用于数组。编辑:这里的Set不是JAVAAPI,它是一个数据结构。所以我不关心JavaAPI是否有removeAll()方法,我想为这个问题找到一个通用的解决方案,我在使用Javascript和Actionscript时遇到过很多这样的问题。 最佳答案 我认为您不会更快地获得

javascript - 比较 jquery 选择器的性能

着眼于提高我的jquery选择器的性能。那么有什么技巧或文章可以作为最佳性能jquery选择器吗?例如选择一个div的id。我可以在网上的任何地方提供html并比较我可以用来选择所需元素的不同选择器。 最佳答案 您可以在这里比较选择器的性能:http://jsperf.com/只需设置您的HTML,包括jQuery并将您要比较的每个选择器作为测试用例放置。许多规则here仍然适用,但是游戏在jQuery1.4.3+中发生了一些变化,之后Sizzle(jQuery的选择器引擎)将使用querySelectorAll()在支持它的浏览器

javascript - 将数组连接到自身是否比遍历数组以创建更多索引更快?

我刚刚浏览了three.jsgithub页面上示例的源代码,我发现了这个ImprovedNoise类,它基本上是一个Perlin噪声脚本:https://github.com/mrdoob/three.js/blob/master/examples/js/ImprovedNoise.jsImprovedNoise函数的最顶部是这样的:varp=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,

javascript - 检查 Javascript 中的正整数 : performance and security

我已经编写(并复制)了几行Javascript,它很好地满足了我的目的。但我正试图找出一种更好的方法(跨浏览器和更好的性能)来做到这一点。我从friend那里复制了isInteger函数,但我不明白为什么我们要在以下条件下检查字符串值:if(((c"9")))returnfalse;上述条件工作正常,但当我更改它以检查数值时,功能中断。输入字段开始接受字母字符。这是我更改它时的样子:if(((c9)returnfalse;我试图注释掉部分内容,以便您了解正在发生的事情。此代码中还有任何安全漏洞吗?我读到1innerHTML1方法可以打开一些安全漏洞,因此我们需要用它执行“干净”操作。因

javascript - 变量名长度与性能

变量名长度的巨大差异怎么可能不会导致javascript的任何性能损失?声明vara=0;所需的时间与声明varaaaaaaaaaaaaaaa=0;所需的时间相同甚至用它们执行计算也需要相同的时间。Myfiddletodemonstrate 最佳答案 window.a=2;window.b=3;window.c=4;window.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=2;window.bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

javascript - Array.push 与 Array.unshift 的性能对比

我在阅读有关数组操作的运行时复杂性的文章时了解到...ECMAScript规范不要求特定的运行时复杂性,因此它取决于特定的实现/JavaScript引擎/运行时行为[1][2].Array.push()以常数和Array.unshift()以线性时间运行,用于稀疏由类似哈希表的数据结构实现的数组[3].现在我想知道push和unshift在densearrays上是否具有相同的常数和线性时间复杂度.Firefox/Spidermonkey中的实验结果证实:现在我的问题:是否有官方文档或引用资料证实观察到的Firefox/Spidermonkey和Chrome/Node/V8的运行时性能

javascript - 使用 JavaScript 测量页面加载时间

我用JavaScript创建了一个脚本,在自动浏览器测试期间将其注入(inject)到我们的ExtJS应用程序中。该脚本测量将数据加载到我们的网格中所花费的时间。具体来说,脚本会轮询每个网格,查看是否有第一行或“无数据”消息,一旦所有网格都满足此条件,脚本就会记录Date.now()和性能之间的值。timing.fetchStart,并将其视为页面加载所需的时间。此脚本或多或少按预期工作,但是与人工测量的计时(Google秒表ftw)相比,此测试报告的时间始终比秒表测量的时间长约300毫秒。我的问题是:此逻辑中是否存在会导致错误结果的漏洞?是否有其他准确的方法来实现这一点测量?脚本如下

javascript - 在 Node.js 中高效计算 n 选择 k

我在Node.js服务器上有一些性能敏感代码需要计算组合。来自thisSOanswer,我使用这个简单的递归函数来计算n选择k:functionchoose(n,k){if(k===0)return1;return(n*choose(n-1,k-1))/k;}因为我们都知道迭代几乎总是比递归快,所以我根据multiplicativeformula编写了这个函数:functionchoosei(n,k){varresult=1;for(vari=1;i我跑了几个benchmarks在我的机器上。以下是其中一个的结果:Recursivex178,836ops/sec±7.03%(60run