草庐IT

performance

全部标签

javascript - 在 Javascript 中实现 GroupBy 最有效的方法是什么?

我正在尝试使用这些参数实现GroupBy方法functionGroupBy(keySelector,elementSelector,comparer){//keySelector=function(e){returne.ID}//elementSelector=function(e){returne.Name}//comparer={Equals:function(a,b){returna==b},GetHashCode:...}}但是我不知道实现它的有效方法。IcreatedajsPerftest使用linq.js和我创建的一种方法,它不使用比较器,只适用于平面类型。(Outputt

javascript - angularjs 中 $window.location.reload() 和 $route.reload() 的区别

Angular.js中的$window.location.reload()和$route.reload()有什么区别?我已经使用了这两个东西,但它们的工作进度相同。谁能解释一下区别? 最佳答案 $window.location.reload()-用于重新加载页面$route.reload()-导致$route服务重新加载当前路由,即使$location没有改变。作为结果,ngView创建新范围并重新实例化Controller。 关于javascript-angularjs中$window

javascript - 通过引用从/向 webworker 传递对象

是否可以通过引用将对象从/传递到主线程?我读过here有关可转让对象的信息。Chrome13introducedsendingArrayBuffersto/fromaWebWorkerusinganalgorithmcalledstructuredcloning.ThisallowedthepostMessage()APItoacceptmessagesthatwerenotjuststrings,butcomplextypeslikeFile,Blob,ArrayBuffer,andJSONobjects.Structuredcloningisalsosupportedinlater

javascript - 扩展 String.prototype 性能表明函数调用快 10 倍

我想用一些实用方法扩展String对象原型(prototype)。它有效,但性能出奇的低。将字符串传递给函数比重写执行相同操作的String.prototype方法快10倍。为了确保这真的发生了,我创建了一个非常简单的count()函数和相应的方法。(我正在试验,并创建了该方法的三个不同版本。)functioncount(str,char){varn=0;for(vari=0;i结果:func:705msproto:10011msproto-reuse:10366msproto-var:9703ms如您所见,差异是巨大的。下面证明了方法调用的性能可以忽略不计,并且函数代码它自己对于方法

javascript - ES6 模块 : Exporting and importing performance differences

我的vue项目中有一些组件。我不喜欢importloaderfrom'@/components/someComponent1/someComponent1.vue';因为要写的东西很多而且我必须为每个组件重复一遍。所以我为components文件夹写了一个index.js:export{defaultassomeComponent1}from'./someComponent1/someComponent1.vue';export{defaultassomeComponent2}from'./someComponent2/someComponent2.vue';...这将允许我在一行中导

javascript - 是否值得惯用编程?一个 ES6 例子

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion编程是关于如何实现任何代码段的决策。根据这些决定,代码将或多或少具有可读性、高效性、复杂性等。一个常见的决定也是或多或少地符合习惯,即使用特定的语句或您的编程语言或范例。作为概念证明,我用Javascript开发了两个代码片段来分析性能。目标是生成tagA|tagB|tagC形式的字符串,其中tagX的数量是随机的,后缀A、B,C为随机整数。而且,tagX不能重复。第一个实现更为地道,而第

javascript - DevTools 性能工具中的解析、编译和评估是什么?

在Chromes的性能选项卡中运行JS脚本时,我看到JS解释分为三个步骤:Parse、Compile和Evaluate。有时我只会看到Evaluate,有时会看到Compile和Evaluate,有时会看到全部三个。我的问题是:每个步骤的实际含义是什么?为什么有时会缺少步骤?(例如,有时Parse会丢失) 最佳答案 解析:js引擎检查代码,确定所有不同的范围、变量声明等,并对它们进行排序。在这一步也会发生提升。基本上你的纯文本源代码变成了AbstractSyntaxTree(AST)编译:ChromeV8使用JIT编译,这意味着部分

javascript - AngularJS - 哪个范围在性能方面更好? Object.key 还是一些变量?

假设我必须存储客户信息,并且要管理双向绑定(bind),我将在此处使用$scope。所以我的疑问是,哪种方法更好?$scope.firstname="foo";$scope.lastname="bar";$scope.cellno="1234567890";$scope.email="foobar@example.com";或$scope.customerDetailsObj={};$scope.customerDetailsObj.firstname="foo";$scope.customerDetailsObj.lastname="bar";$scope.customerDetai

javascript - face-api.js - 为什么浏览器的 faceapi.detectAllFaces() 比服务器的快?

我想在我的服务器端使用人脸检测。因此,我找到了face-api.js为了这个任务。我发现每次调用faceapi.detectAllFaces()都会持续约10秒。但是当我启动browser-example,只有第一个功能持续10秒,而接下来的所有功能持续不到一秒。我的服务器端代码(您可以在ageAndGenderRecognition.ts中看到类似的代码):import*asfaceapifrom'face-api.js';import{canvas,faceDetectionNet,faceDetectionOptions,saveFile}from'./commons';awai

javascript - 高效秒表

您好,我正在用javascript编写一个秒表实用程序,我有一个关于效率和开销的问题。我考虑过两种制作秒表的方法:1.存储开始日期并不断测量自该日期以来的毫秒数。2.创建一个整数并以设定的时间间隔递增它的值。我想知道哪个最有效。另外,我不确定选项#2是否非常准确,如果有人对此有任何意见,那也很棒。 最佳答案 正如其他人所说,选择#1。如果你想要一个每秒(或分钟或其他)滴答的时钟,你应该估计下一个“滴答”的时间,以便在正确的时间后几毫秒调用setTimeout,例如在下一整秒后立即运行:vard=newDate();varinterv