草庐IT

高性能

全部标签

javascript - Canvas getImageData() 以获得最佳性能。提取所有数据还是一次提取一个数据?

我需要扫描Canvas图像中的每个像素,并对颜色等进行一些调整。为了获得最佳性能,我是否应该一次获取所有数据并通过数组对其进行处理?或者我应该在处理每个像素时调用它。所以基本上……data=context.getImageData(x,y,height,width);对比data=context.getImageData(x,y,1,1);//inaloopheight*widthtimes. 最佳答案 通过一次抓取所有图像,您将获得更高的性能,因为:a)对数组的(连续)访问比函数调用快得多。b)特别是当这个函数是一个DOM对象的方

javascript - 删除注释会提高代码性能吗? JavaScript

从JavaScript代码中删除注释会提高性能吗?我意识到这不是很好的编程实践,因为注释是开发的固有部分。我只是想知道他们是否真的在编译期间增加了一些开销。 最佳答案 无论是编译还是解释JavaScript,编译器/解释器都需要查看该行,确定它是注释,然后继续(或查看该行的某个区域)。对于Web应用程序,还需要下载注释行。所以是的,有一些开销。但是,我怀疑您能否找到这种差异很重要的真实场景。如果您正在编译您的代码,开销仅发生在编译运行期间,而不发生在后续执行期间。 关于javascrip

javascript - 通过性能 api 测量站点加载时间

几天前我听了SteveSouders的演讲,他提到了新浏览器正在实现的新性能规范,这非常有趣。在他的演讲中,他提到了以下示例作为衡量感知页面加载时间的方法:vartiming=performance.timing;varloadtime=timing.loadEventEnd-timing.navigationStart;alert("Perceivedtime:"+loadtime);显然这是一个基本示例,但在我的开发环境中尝试时,我得到了疯狂的数字,如-1238981729837作为答案,因为loadEventEnd为显然有些不对劲,可以对此示例进行许多改进以提供更多信息并产生更高

javascript - Web Worker 性能降低 20 倍

我似乎无法在任何地方找到明确的答案。我有一个非常简单的POC,可以以同步和异步方式计算相同的函数。worker.jsonmessage=function(e){vars=newDate().getTime();i=0;varavg=Math.random();while(i索引.htmlvarmw=newWorker("worker.js");mw.onmessage=function(e){console.log('Workersays:'+e.data);};functionav(j){vars=newDate().getTime();i=0;varavg=Math.random(

javascript - 通过 CPU 交易 RAM(性能问题)

我正在使用一个处理文件的程序,我可以做几件事,比如重命名它们、读取它们的内容等。今天我按如下方式初始化它:returnnewPromise((resolve,reject)=>{glob("path/for/files/**/*",{nodir:true},(error,files)=>{files=files.map((file)=>{//propertieslikefullname,basename,extension,etc.});resolve(files);});});因此,我读取特定目录的内容,返回数组中的所有文件,然后使用Array.map遍历数组并更改具有属性的对象的路

javascript - 测试压缩 JavaScript 代码的性能增益

我使用了5个JavaScript压缩器来压缩一个JavaScript库(JSMin、YUI压缩器、Packer、闭包编译器和UglifyJS)现在我知道闭包编译器是减少文件大小的赢家。但是,我也想测试性能提升。执行此操作的好方法是什么?我制作了一个简单的测试页面,它使用了该库的所有公共(public)方法。有没有工具可以测试这个测试页面的页面速度?例如。在浏览器上运行X次并返回平均加载速度。感谢您的回答! 最佳答案 没必要说得太复杂:vartime=newDate();...morescripts...document.write(

java - 适用于网络的高性能pdf查看器

我需要一个高性能的解决方案来在没有任何插件的情况下在网页上显示*.pdf文件(每个文件100〜250Mb,扫描的文档)。Icepdf没有所需的选项,例如兑现,自动设置质量,缩略图预修复。此外,它仅具有基本的WebUI组件。最适合在客户端使用javascript,在服务器端使用java的解决方案,但也欢迎使用其他技术。 最佳答案 您可以在服务器端使用AcrobatSDK(这需要在Windows上运行服务器)。在Servlet中,您可以提取每个页面和一个JPG文件,然后显示它。您将需要构建用于导航的控件。除此之外,我不认为您要的东西存在

javascript - 如何在 React 16 中进行性能分析

React文档声明react-addons-perf不适用于React16,但Chrome'sbuilt-intoolsprovideequivalentfunctionality。我还没有发现这种情况。例如,假设我犯了一个经典错误,即没有在元素列表(democodeisonGitHub)中包含正确的key:render(){constitems=this.state.items.map((item,index)=>)returnAdditem{items};}key={index}问题将导致每个ListItem在我将项目添加到列表时重新呈现。使用React15perf工具,我可以很容

javascript - 等待一个已经完成的 Promise 的性能开销是多少?

在做代码审查时,我最近遇到了这样的代码块:constpromises=[];constdata=[];for(letpieceofpieces){for(letchunkofpiece){promises.push(execute(chunk));//executereturnsapromisewhichisnotyetfulfilled}data=awaitPromise.all(promises);}这里的pieces是一个数组的数组。请注意,由于某些限制,我们无法立即等待所有Promise,因此需要进行这种分块。在我的反馈中,我写道这似乎是一种反模式,因为我们也在等待Promis

javascript - 如何对一个JS数组进行批量排序(为了性能)

我有一个JS应用程序需要对一个大数组进行复杂的排序然后显示它。使用内置的array.sort(cb)方法处理我的数据最多可能需要1秒。这足以让我的UI变得卡顿。因为UI的高度仅足以在屏幕上显示已排序数组的一个子集,而其余部分位于滚动条下方或已分页,所以我有了一个想法。如果我创建一个遍历大型数组的算法并快速排序,使得前N项完全排序,但数组中的其余项排序不完全,会怎样?每次我运行我的算法时,它都会从上到下对数组进行更多排序。这样我就可以将我的处理分解成block并拥有流畅的用户界面。在最初的几秒钟内,数组不会被完美排序,但缺陷会在滚动条下方,因此不会被注意到。我天真的解决方案是编写我自己的