草庐IT

Feign的性能优化

全部标签

JavaScript 性能 - 除法还是乘法?/vs *

我正在编写一个非常依赖JavaScript的应用程序(几乎全是JavaScript),它确实有大量数据需要迭代(JSON),因此它必须执行特定的算术任务。性能是应用程序的主要考虑因素。我已经引入了Webworkers来帮助解决这个问题,并且我试图不依赖于jQuery等库提供的方法(例如.each()而不是for循环)。无论如何,这是一个简单的问题...在应用程序中,我必须应用价格变化,这将涉及许多涉及除法的数字过程。请记住,这会发生成千上万次,对我来说,始终通过乘法或乘法和除法的混合来应用变化会更好吗?例如,我可以通过乘以0.5或除以2来应用50%的折扣。我总是被告知除法比乘法慢,但我

javascript - native 映射、过滤器等方法是否已优化以在可能的情况下在单个中间数组上运行?

考虑下面的代码片段,它将一个对象数组转换为一个数字数组,过滤掉负值,然后乘以2:varobjects=(newArray(400)).fill({value:Math.random()*10-5});varpositiveObjectValuesDoubled=objects.map(item=>item.value).filter(value=>value>0).map(value=>value*2);当像这样链接在一起时,总共创建了多少个实际的Array对象?1还是3?(不包括初始objects数组)。特别是,我在谈论由filter创建的中间Array对象,然后由链中的第二个map

javascript - AngularJS 绑定(bind)选项的性能

我想知道随着复杂性的增加,下面的代码变体对性能的影响。AngularJS:Whyng-bindisbetterthan{{}}inangular?中已经解决了这个问题的部分答案(那些使用属性的)但我想了解使用函数而不是属性的影响。在我看来,当发生变化时,Angular的属性在某种意义上“知道”,而函数是不透明的,因此Angular不会知道,并且每次都必须评估。然而,根据上面提到的另一个SO问题,无论如何,Angular每次都已经在使用直接模板进行评估。那么使用函数而不是属性真的会有性能损失吗?它们各自的优缺点是什么?1直接模板属性Hello,{{user.name}}2ng-bind-

javascript - 优化击倒/TKO - Alpha3

现代化进程中Knockout对于4.0版(现在位于monorepotko),我遇到了一些性能问题。在其他变化中,一些内部循环的东西已经转换为ES6类,这导致了一些主要的性能问题。我不想撤销这项工作,因为它为一些关键代码增加了相当多的清晰度,所以我想征求一些关于如何改进ES6代码的意见。我在这里设置了一些用于分析的简单示例:KnockoutAlpha2-349毫秒KnockoutAlpha3(prerelease)-622毫秒jsFiddles中的代码如下,它是许多绑定(bind)所经历的减速的原型(prototype)。HTML:{{count}}/{{time}}mscc{{#unl

javascript - 了解 JavaScript 性能差异

http://jsfiddle.net/6L2pJ/vartest=function(){vari,a,startTime;startTime=newDate().getTime();for(i=0;i结果:第一次执行:Timeneeded:13654msTimeneeded:32192msTimeneeded:33167msTimeneeded:33587msTimeneeded:33630ms第二次执行:Timeneeded:14004msTimeneeded:32965msTimeneeded:33705msTimeneeded:33923msTimeneeded:33727ms

javascript - 关于 JSLint,它对 for 循环的厌恶,以及尾调用优化

我注意到新版本的JSLint不喜欢某些形式的for循环。我发现这很奇怪,并开始寻找一些解释。在JsLint的helppage下,你可以找到这个:ThemostimportantnewfeatureofES6ispropertailcalls.Thishasnonewsyntax,sojsLintdoesn'tseeit.Butitmakesrecursionmuchmoreattractive,whichmakesloops,particularlyforloops,muchlessattractive.还有这个:jsLintdoesnotrecommenduseoftheforsta

javascript - 为什么这段 JavaScript 代码经过 Node.js 优化后运行速度变慢了

我正在为ICPC创建一个解决方案使用JavaScript和Node.js的问题当我遇到一个有趣的问题时:在某些情况下,我的程序在同一数据集上的运行速度会慢两倍。我精简了它,直到我得到这个演示行为的最小示例:functionsolve(arr){consttotal=arr.reduce((a,c)=>a+c,0);constcount=arr.length;for(leti=0;i这是使用Nodev10.15.1运行node--trace-optcode.js的输出:[marking0x005062b82521foroptimizedrecompilation,reason:small

javascript - 使用非常大的背景位置偏移是否存在性能问题?

我正在构建一个进度条控件,我正在处理它实际上并不显示进度,而只是旋转指示器“正在发生某事”的情况。我的设计基本上是交替的斜条纹,本质上是一个像这样的理发杆,但是“旋转”:希望尽可能多地卸载渲染引擎,我想为此使用CSS转换。支持旧浏览器对我来说不是问题。所以,我的第一个想法基本上是这样做的:.barber-pole{background-image:url(repeating-slice.png);/*setaverylong(onehour!)transitiononthebackground-position*/transition:background-position3600sl

javascript - 如何在生产环境中动态加载多个优化的 requirejs 模块?

我已经开始在虚拟项目中使用requirejs。我现在想使用r.js脚本构建我的生产项目。上下文是这样的:名为start.js的主文件是:require([/*somestuff*/],function(){/*applogic*/});它有一个if,它根据某些条件决定我应该要求什么。所需的文件是ModuleA或ModuleBModuleA和ModuleB都有依赖关系。define([/*somedeps*/],function(dep1,dep2...){/*applogic*/return{/*interface*/}在优化和模块连接之前,在开发模式下一切正常。在使用r.js构建时,

javascript - moment.js isAfter 性能

我已将我的日期转换为moment.js,现在我想将它与另一个日期(在本例中为“现在”)进行比较。与日期对象进行简单比较似乎比使用moment.jsisAfter函数快很多。这种简单的比较是否适用于所有语言环境?我是不是漏掉了什么?当isAfter是一个Date对象时,isAfter似乎创建了一个新的moment对象而不是走捷径,这有什么非常具体的原因吗?我所有的日期都是UTC。functionexecuteTests(){isAfterTest();compareTest();}functionisAfterTest(){console.time('isAfterTest');varn