草庐IT

Performance

全部标签

javascript - 分析 jQuery 应用程序

我最近在一个应用程序上遇到了一个响应缓慢的脚本错误,我觉得有必要分析该应用程序以确定我需要改进的地方。我想要一个长期修复,而不是一个骇人听闻的修复。我尝试了FirebugProfiler,但由于该应用程序使用了大量jQuery,所以我收到了很多关于匿名调用的报告,这在我的意料之中。我还在网上找到了一些关于JohnResig创建的分析器的报告,但我找到的链接都失效了。所以我的问题是:分析jQuery应用程序的最佳方法是什么?是否有任何开源专用工具/脚本来实现此目的? 最佳答案 所以在深入研究之后,我发现了JohnResig给出的另一个

javascript - 自 Spectre 和 Meltdown 以来如何在 JavaScript 中获得微秒计时

情况在编写高性能JavaScript代码时,Chrome等提供的标准分析工具并不总是足够的。它们似乎只提供功能级别的粒度,向下钻取并找到我需要的信息可能非常耗时。在.NET中,StopWatch类提供了我所需要的:任意代码片段的亚微秒分辨率计时。对于JavaScriptperformance.now()曾经是衡量性能的一个很好的方法,但是为了应对Spectre和Meltdown,所有主流浏览器都将分辨率降低到甚至不到一毫秒。在performance.now()上引用MDN:Thetimestampisnotactuallyhigh-resolution.Tomitigatesecuri

javascript - 向下滑动时反转 slider

我关注了thisarticle用于垂直滑动卡片slider。这个问题有两个部分。1。我不明白如何在向下滑动时反转slider的方向?这是相关的codepen-https://codepen.io/bmarcelino/pen/vRYPXV更新卡片的相关函数functionupdateUi(){requestAnimationFrame(function(){elTrans=0;varelZindex=5;varelScale=1;varelOpac=1;varelTransTop=items;varelTransInc=elementsMargin;for(i=currentPosit

javascript - RequestAnimationFrame定期加快/降低速度

据我了解,requestAnimationFrame的运行速度应尽可能接近浏览器的帧速率(约60fps)。为了确保确实发生这种情况,我一直在记录每个requestAnimationFrame调用的时间戳,如下所示:functionanimate(now){console.log(now);window.requestAnimationFrame(animate);}window.requestAnimationFrame(animate);Console.log数据显示,调用始终相距约0.016674毫秒,因此表明帧速率约为≈60fps(准确地说是59.9736116108912fps

javascript - Array.prototype 与 [] perf

我还没有真正有机会研究的快速问题。在调用/应用类型的上下文中使用时,哪个性能更高:Array.prototypevs[]?例如:functiontest1(){returnArray.prototype.splice.apply(arguments,[1,2]);}test1([1,2,3,4,5,6,7,8,9]);functiontest2(){return[].splice.apply(arguments,[1,2]);}test1([1,2,3,4,5,6,7,8,9]);我的想法:我会假设Array.prototype方式性能更高,因为原型(prototype)函数可以重用并

javascript - 发现 JavaScript CDN 命中率

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion是否有关于各种JavaScriptCDN的命中率的可用数据?这将有助于决定使用哪个CDN。例如,假设我的应用需要jQuery。了解Google、MS、CloudFlare等的CDN中的哪个jQuery副本可能被缓存将对性能很有用。(预计

javascript - WebWorkers 的执行似乎比主线程慢得多

我一直致力于优化一些长时间运行的JavaScript,并尝试实现WebWorkers。我有一组独立的任务要计算。在我的初始测试中,有80个任务,在主线程上用了250毫秒完成。我认为我可以将任务分配给一些网络worker,并将时间缩短到50毫秒左右。我的数据是嵌套多个类型数组的几何数据结构。我有将所有数据提取到JSON+ArrayBuffer对象数组的方法,因此我可以将传输的数据传递给WebWorker,而无需复制大数组。我已经测试了数据传输,并确认它按预期工作。传输到WebWorker后,我的类型化数组在主线程中为空。我(目前)预先启动了4个WebWorker,以便在需要完成工作时,W

javascript - 服务器端处理与客户端处理+ ajax?

寻找一些一般性建议和/或想法...我正在创建我认为更像是一个Web应用程序而不是网页的东西,因为我希望它像一个Gmail应用程序,您可以让页面整天保持打开状态,同时将更新“推送”到页面(对于感兴趣的人,我正在使用cometd编程技术)。我以前从未创建过包含如此丰富的ajax和javascript的网页(我现在是jquery的super粉丝)。正因为如此,当我一次又一次地实现一个新功能时,需要在服务器需要知道的UI中进行动态更改,我面临着同样的问题:1)我是否应该使用javascript在客户端上完成所有处理并尽可能少地通过ajax回发要么2)我应该通过ajax向服务器发送请求,让服务器

javascript - 移动矩形,使它们不重叠

这是一个一半是编程,一半是数学的问题。我有一些方框,它们表示为四个Angular点。它们是真正的矩形,是两组平行线的交点,每组中的每条线都与另一组中的两条线成直Angular(这样我们就清楚了。)对于任何一组n个框,我如何才能有效地计算将它们移动到哪里(最小距离)以使它们不会彼此重叠?我在这里使用javascript工作。这是数据://anarrayofindefinitelengthofboxes//boxesrepresentedasarraysoffourpoints//pointsrepresentedasarraysoftwothings,anxanday,measuredi

javascript - V8引擎巫毒: Why is this faster/slower?

我目前正在研究图像编辑器,偶然发现了V8中有关像素操作和/或函数调用的奇怪行为。http://jsperf.com/canvas-pixelwise-manipulation-performance有两个测试用例。两个测试用例都应该操纵内存Canvas的图像数据以增加亮度。因此他们必须遍历每个像素并操纵每个像素的4个颜色值。案例一案例1“总共调用了1个函数”,这意味着它将上下文和imageData传递给一个函数,然后该函数遍历像素并处理数据。一站式功能案例2案例2执行“每个像素1次函数调用”,这意味着它遍历像素并为每个像素调用一个方法,然后操作给定像素的imageData。这导致(在本