草庐IT

性能建模

全部标签

javascript - 在 JavaScript 和 jQuery 中使用委托(delegate)事件处理程序是否存在性能缺陷?

我在我的JavaScript代码中使用委托(delegate)事件处理程序(jQuery),因此当单击动态添加的按钮时会发生一些事情。我想知道这是否存在性能缺陷?//Delegatedeventhandler$(document).on('click','#dynamicallyAddedButton',function(){console.log("Hello");});在性能方面,它与此相比如何?//Regulareventhandler$("#regularButton").on('click',function(){console.log("HelloAgain");});查看

javascript - 在向用户显示输出的同时准确测量 Javascript 函数的性能

正如您在下面的代码中看到的,当我增加字符串的大小时,它会导致0毫秒的差异。此外,随着字符串数量的增加,会出现不一致的情况。我是不是做错了什么?letstringIn=document.getElementById('str');letbutton=document.querySelector('button');button.addEventListener('click',()=>{lett1=performance.now();functionToTest(stringIn.value);lett2=performance.now();console.log(`timetakeni

JavaScript 内部函数和性能

定义clousre函数与全局范围函数对运行时和内存有何影响?functiona(){//functions(optionA)}//functions(optionB)我知道选项A具有功能作用域(闭包)的优势...假设我有1000个函数,这对运行时间和内存有何影响? 最佳答案 如果您使用内部函数,运行时必须为将来的任何调用分配和保存它们的上下文,并且每次调用包含它们的函数时都会发生这种情况。因此,很容易想象声明一个内部函数就像构造一个对象一样,其成员只是该函数周围封闭范围内的变量。如果您不经常这样做,这可能并没有那么糟糕,因为内存量与

javascript - Google Forms 性能非常慢

我有一个google表单,我正在处理一些在后台使用GAS完成的脚本,它会加载包含许多不同信息的下拉列表。表单本身非常大,大约有16个部分,它在几台机器上加载和响应上下滚动非常缓慢,包括我的台式电脑,这是一台非常强大的电脑,所以我不认为这是一个机器相关的问题。除了将表单拆分为2个表单或类似的东西之外,任何加速它的提示将不胜感激。 最佳答案 您可以暂时降级到旧的Google表单构建器,看看是否可以解决延迟问题。请记住,这会将任何实时表单的所有主题也更改回旧主题,因此您可能希望在更改给您带来麻烦的主题后重新升级。

具有性能的 Javascript 对象重组

我正在解决一个问题,我必须将一组对象从一种形式分组到另一种形式。一个例子胜过1000个单词:varinitialData=[{house:{id:1,text:"white"},room:{id:1,text:"red"},price:2.1},{house:{id:1,text:"white"},room:{id:2,text:"blue"},price:3.1},{house:{id:1,text:"white"},room:{id:3,text:"red"},price:5.8},{house:{id:2,text:"black"},room:{id:1,text:"yellow

javascript - 多次使用 jQuery $() 运算符是否会对性能产生影响?

如果我围绕一个元素构建一次或多次jQuery对象,会有显着差异吗?例如:varjEl=$(el);$.each(myArray,function(){jEl.addClass(this);}对比:$.each(myArray,function(){$(el).addClass(this);}我知道还有其他方法可以回避这个问题,但我的问题是我是否应该只做一次$(el),或者它是否真的无关紧要。这个例子是人为设计的。解释$(el)在幕后做了什么的加分点。我知道理论上还有更多的工作要做,但我不知道这是否重要...如果jQuery缓存它或浏览器都非常适合第二个请求或其他任何东西,那么它不值得。

javascript - 如何访问网页中每个资源的性能对象?

我可以在Chrome开发者工具中看到网页中所有资源的加载时间、从服务器获取特定资源所需的时间以及其他信息。我想使用JavaScript捕获这些统计数据。怎么可能?有可用的window.performance对象,但仅适用于请求的页面,不适用于页面资源。有没有办法访问所有页面资源的性能对象。 最佳答案 您应该能够使用window.performance.getEntries()获取特定于资源的统计信息:varresource=window.performance.getEntries()[0];console.log(resource

jquery - 停止事件冒泡 - 提高性能?

如果我不回来了false来自事件回调,或使用e.stopPropagationjQuery的特性,事件使DOM冒泡。在大多数情况下,我不关心事件是否冒泡。就像这个DOM结构示例一样:​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​通常,我没有像这样的多个嵌套提交回调:$('#theDiv').submit(function(){alert('DIV!');});$('#theForm').submit(function(e){alert('FORM!'

javascript - 使用 `new Function` 和性能问题

我正在通过AJAX加载一个脚本文件,并运行它的内容,我正在这样做:newFunction('someargument',xhr.responseText)(somevalue);但是,根据MDN:FunctionobjectscreatedwiththeFunctionconstructorareparsedwhenthefunctioniscreated.Thisislessefficientthandeclaringafunctionandcallingitwithinyourcode,becausefunctionsdeclaredwiththefunctionstatement

javascript - 通过采样/插值减少大型数据集的大小以提高图表性能

我有一大组(>2000)时间序列数据,我想在浏览器中使用d3显示这些数据。D3非常适合向用户显示数据的一个子集(~100点),但我还想要一个“上下文”View(likethis)来显示整个数据集并允许用户选择作为子区域进行查看细节。但是,当尝试在d3中显示那么多点时,性能很糟糕。我觉得一个好的解决方案是选择一个数据样本,然后使用某种插值(样条、多项式等,这是我知道怎么做的部分)来绘制一条与实际数据。但是,我不清楚应该如何选择子集。数据(如下所示)具有相当平坦的区域,在这些区域需要较少的样本才能进行适当的插值,而其他区域的绝对导数非常高,需要更频繁的采样。更复杂的是,数据存在间隙(生成数