jjzjj

performance

全部标签

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。这导致(在本

javascript - jquery html() vs empty().append() 性能

我在http://jsperf.com/jquery-html-vs-empty-append-test创建了一个测试用例比较$.html()和$.empty().append()的性能。我想知道.empty().append()更快。​​谁能解释这种性能差距?谢谢。 最佳答案 在你的代码中,$.empty().append()运行得更快,因为你的选择器是错误的,您应该使用var$test=$("#test");而不是var$test=$("test");进行比较。参见DEMOHere.

Javascript在数组中添加相同的元素N次

假设我有这样的map:varmap={"a":100,"b":200,"c":700};我想要一个由"a"100次、"b"200次和"c"700次组成的数组:map_array=[a,a,a,a,...a,b,b,b,...b,c,c,c,...c]简单的解决方案是循环频率时间并插入数组:varmap_array=[]for(keyinmap){for(vari=1;i但这显然需要时间来处理大数据,我们是否可以重新设计上述功能以使其更有效率? 最佳答案 在我看来,这里真正的问题是构造重复"a"的子数组。的,"b"的,和"c"的。一旦

javascript - Controller 性能比较中的自定义过滤器与过滤器功能

假设我有一个包含5000个对象(带有bool值)的数组,我必须在模板中ng-repeat:$scope.arr=[{"value":true},{"value":false},{"value":false}//andsoon]现在,我想根据我在别处设置的动态变量(例如“show_filter”)过滤此ng-repeated数组。如果“show_filter”设置为“all”,我想显示所有对象。如果它设置为false(bool值),那么我想显示“value”键设置为false的对象。当“show_filter”设置为true时也是如此。所以,有两种方法:1。构建自定义过滤器:我会像这样为

javascript - 如何从 Javascript 数组中获取两个最大的整数并将值返回给 DOM?

我编写了一个解决方案来获取通过表单输入的整数列表。有用。它为您提供两个最大整数的总和并将其发布在DOM中。但是,对于包含100万个整数的大型数组,它的效率不是很高。如何改进此解决方案以提高效率。应用程序.js//ThisfunctionreversestheorderofthearrayandplacesthebiggestnumbersfirstfunctionsortNumber(a,b){returnb-a;}//thisfunctionisusedtoensuretheuserdidn'tenteranylettersfunctiongetArray(){varalphaExp

javascript - 为什么+=(加法赋值,加上等于)在 Node 中这么慢?

这个问题在这里已经有了答案:Whatdoescompoundlet/constassignmentmean?(1个回答)关闭5年前。在某些版本的node中,a+=b明显比a=a+b慢,但在浏览器和更高版本中类似。是什么导致它们运行如此不同?nodev6.10.0(V85.1.281.93),慢75%,或者反向快4倍nodev8.0.0(V85.8.283.41),慢86%,或者反向快7倍nodev8.2.1(V85.8.283.41),慢86%,或者反向快7倍nodev8.3.0(V86.0.286.52),类似nodev8.7.0(v86.1.534.42),类似nodev8.9.2

javascript - 模拟虚拟世界 : continuous or discrete steps?

我正在制作类似于Polyworld的东西,这意味着我将模拟小爬行者在其中跑来跑去、进食和进化的虚拟世界。我正在用Node.js做,我计划使用物理和神经网络,但我不确定更新世界的最佳方式是什么,更具体地说,更新函数是否应该接收增量时间作为参数,或者每次都做同样的事情,独立于他们上次被调用的时间?这两种方式的好处是什么?编辑:我反对连续更新的一点是我想实现某种间隔,例如,每20模拟秒生成一个食物block。如果dt不同于1(或1的分数),这将永远无法精确工作。话又说回来,如果我使用离散更新,其中更新不关心经过了多少时间,我将无法“减慢时间”。当我让它在功能强大的服务器上运行并在浏览器中呈现

javascript - 如何清除 chrome 性能条目或绕过它们的数量限制?

我使用GoogleChrome分析了一些使用Javascript动态加载脚本和其他资源的网页的性能。我使用了performance.getEntries()方法,但我注意到Chrome只记录了前150个资源。我找不到任何方法来获取更多条目或删除旧条目。我看到性能对象有clearMeasures或clearMarks之类的方法,但我没有使用它们来删除条目。所以我的问题是:是否有可能获得超过150个表演条目?如果可能-如何?是否可以清除条目(例如,读取某个条目的数据后,将其删除)?如果可能-如何? 最佳答案 你可以试试performan

javascript - ember 核心表单组件中的 ARIA 属性

我想在Ember核心表单组件中使用ARIA属性,例如输入和文本区域字段。我注意到在我的模板的组件中使用aria属性,它根本不起作用{{inputaria-label="Yourname"}}{{textareaaria-label="Youraddress"}}所以我决定在初始化器中重新打开核心组件以将此属性添加到组件exportdefault{name:'reopenTextAreaComponent',initialize:function(){Ember.TextArea.reopen({attributeBindings:['aria-label']});}};自从我这样做后,