草庐IT

Performance

全部标签

JavaScript 堆大小和 Chrome 增加

我有一个全是JavaScript的网页应用程序。我注意到每次返回新View的AJAX调用都会增加JavaScript堆大小。我应该做些什么来清理旧View? 最佳答案 我建议您查看以下资源。您可以了解如何检查浏览器时间线以检测引用泄漏和性能问题。第一个来自一位Chrome开发者今年在GoogleIO上的演讲:http://www.youtube.com/watch?v=3pxf3Ju2row第二个来自PaulIrish在第2集的突破点上的谈话:http://www.youtube.com/watch?v=PPXeWjWp-8Y我相信

javascript - 一种立方体曲面星形寻路启发式算法

我正在构建一个snakegame在立方体的表面上播放。目前它使用Dijkstra算法进行寻路。尽管对集合和优先级队列数据结构进行了优化,但它仍然有点太慢了。当蛇吃掉食物并开始寻找新食物时,您会注意到延迟。我试图让它改用A*,但找不到好的启发式算法。在具有4个运动方向的平面网格上,我会使用曼哈顿距离。我试过使用3DManhattan距离abs(dx)+abs(dy)+abs(dz)但没有成功,原因很简单:对于蛇来说,游戏世界真的是6grids(correspondingtothefacesofthecube)具有不寻常的环绕属性。在代码中,每个方block都存储在一个grid[15][1

javascript - 如何分析 QtScript 代码?

我知道有一些工具可以分析纯javascript代码,例如firebug和Chrome的开发者工具,但我想知道是否有任何好的工具来分析QTScript。或者我如何使用这些工具来分析QtScript代码。这个用例是当有一个桌面应用程序时,它的大部分代码是用JavaScript编写的,一些代码是用nativeQT/C++编写的。在这种情况下,如果有人想要分析性能,有哪些工具可以自动进行分析。 最佳答案 主要用于分析QtScript的工具并不多。但是有一个QscriptProfiler由BenjaminMeyer设计,我个人没有使用过它,但

javascript - REST API 测量服务器端响应时间(性能)。

我开发了一些基于nodejs的restAPI,我想测试一下这些API的性能。有没有什么工具可以很方便的统计每次API调用的时间?或者如何测量RESTAPI响应请求所需的时间。 最佳答案 这里是如何使用express.js通过精确时间测量进行事件注入(inject)的示例。在您的路线之前添加:app.all('*',function(req,res,next){varstart=process.hrtime();//eventtriggerswhenexpressisdonesendingresponseres.on('finish'

javascript - 如何检查 webgl(three.js) 的客户端性能

我有一个使用three.JS的图形项目,现在我想自动检查客户端GPU性能并计算我可以在应用程序中加载多少元素。我想到了GPU基准测试之类的东西。 最佳答案 看看stats.js,thisTHREEXplugin和webglinspector. 关于javascript-如何检查webgl(three.js)的客户端性能,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2317877

javascript - 比较引起消化的方法

很久以前看到过这篇文章:https://coderwall.com/p/ngisma它描述了一种方法,如果我们不在应用或摘要阶段,就会触发$apply。$scope.safeApply=function(fn){varphase=this.$root.$$phase;if(phase=='$apply'||phase=='$digest'){if(fn&&(typeof(fn)==='function')){fn();}}else{this.$apply(fn);}};Angular有$scope.$evalAsync方法(取自1.2.14):$evalAsync:function(e

javascript - 将对象引用保存到数组的性能问题

为什么v1比v2慢这么多?v1--varfoo=function(a,b,c){this.a=a;this.b=b;this.c=c;}varpcs=newArray(32);for(varn=32;n--;){ref=newfoo(1,2,3)pcs[n]=ref;//*****}v2--varfoo=function(a,b,c){this.a=a;this.b=b;this.c=c;}varpcs=newArray(32);for(varn=32;n--;){ref=newfoo(1,2,3)pcs[n]=1;//*****}我认为,因为我在“ref”中持有对新对象的引用,所以简

javascript - 为什么预计算 sin(x) *比在 Javascript 中使用 Math.sin() *慢*?

我在JavaScript中发现了一个有趣的异常现象。其中重点是我尝试通过预先计算sin(x)和cos(x)并简单地引用预先计算的值来加速三Angular变换计算。直觉上,预计算比每次计算Math.sin()和Math.cos()函数更快。特别是如果您的应用程序设计将仅使用一组受限制的值作为三Angular函数的参数(在我的例子中,区间[0°,360°]中的整数度),这足以满足我的目的。所以,我进行了一些测试。在预先计算sin(x)和cos(x)的值并将它们存储在360个元素的数组中之后,我编写了一个简短的测试函数,通过一个简单的测试HTML页面中的按钮激活,以比较两者的速度方法。一个循

javascript - 微调性能时,多次调用 JavaScript 方法的最佳方式是什么?

我一直在研究JavaScript的性能。我了解到,当访问不止一次时,通常最好将闭包变量和类成员复制到本地范围以加快速度。例如:vari=100;vardoSomething=function(){varlocalI=i;//dosomethingwithlocalIabunchoftimesvarobj={a:100};varobjA=obj.a;//dosomethingwithobjAabunchoftimes};我明白这一点;它为解释器添加了一个按名称查找值的快捷方式。在处理方法时,这个概念变得非常不清楚。起初,我认为它会以同样的方式工作。例如:varobj={fn:functi

javascript - Javascript 中的 str.charAt(5) 与 str[5]

为什么str[3]版本显然慢得多?varstr='Hello';str.charAt(3);str[3];http://jsperf.com/charat-ck编辑:对我来说,str[3]在Chrome28.0.1500.71Ubuntu13.04上慢了80%。 最佳答案 稍微调整基准:http://jsperf.com/charat-ck/4不要使用这样的常量和无操作代码,因为它很容易被删除,这样您就无法衡量您认为正在衡量的内容。接下来考虑即使我们有无限智能的JIT,这些操作也有不同的语义:当你越界调用charAt时会发生什么?只