草庐IT

Performance

全部标签

javascript - list.item(0) 与 list[0]

document.getElementsByTagName('a').item(0)和document.getElementsByTagName('a')[0]将返回相同的结果...前者比后者快吗? 最佳答案 自制性能测试:http://jsfiddle.net/438jh/2/差异似乎可以忽略不计。在大多数情况下,第二种方法执行得更好,但如果您查看循环执行的频率,它并不重要。Chrome:方法:~260ms方法:~170ms 关于javascript-list.item(0)与list

javascript - 使用 React 突出显示列表中的项目时的性能

我有一个很大的列表,假设有3000个成员。我有一个呈现此列表的组件和一个用于每个列表项的组件。在外部组件中,我们有这样的代码:constlist=_.map(this.props.items,(item)=>{return});然后在我们的JSX中放置列表:Checkoutmysweetlist{list}难点在于:我想在用户单击某个项目时向用户显示该项目已被选中。因此,在我的ListItem组件中,我有代码根据单个项目是否具有selected属性来突出显示自身。当只有单个项目的选定属性发生变化时,如何阻止React重新呈现整个列表?我确定我需要以某种方式重构我的代码,但我不确定什么结

Javascript:字典/对象成员检查速度

我很好奇检查JS对象(用作字典)是否具有给定属性的最快方法是什么。我对结果感到困惑。自己看看:http://jsperf.com/object-membership-check-speed/6在Chrome中,in关键字方法比点语法慢96%。而在Firefox中,它也慢了大约80%。IE显示速度慢50%什么鬼?难道我做错了什么?我想象“in”关键字会被优化,因为它甚至不需要获取值,它只返回一个bool值。但显然我完全错了。 最佳答案 它们不一样。obj.prop将检查属性是否不是假的(不是null,undefined,0,"",fa

javascript - 分配一个新的字符串值会产生需要收集的垃圾吗?

考虑这个javascript代码:vars="Somestring";s="Morestring";垃圾收集器(GC)在这种操作之后是否还有工作要做?(我想知道在尝试最小化GC暂停时是否应该担心分配字符串文字。)e:让我觉得有点好笑的是,虽然我在问题中明确指出我需要尽量减少GC,但每个人都认为我错了。如果真的必须知道特定的细节:我有一个javascript游戏——它在Chrome中运行良好,但在Firefox中有半频繁的暂停,这似乎是由于GC。(我什至检查过Firefox的MemChaser扩展,暂停与垃圾收集完全一致。) 最佳答案

javascript - 从 JavaScript 中的 switch cases 中删除死代码

是否有任何压缩器负责移除不会在应用程序的任何地方调用的开关盒?functionexecute_case(id){switch(id){case0:console.log("0");break;case1:console.log("1");break;case2:console.log("2");break;case3:console.log("3");break;default:console.log("default");break;}}execute_case(1);如果以上就是我所有的,那么理论上情况0、2、3是死代码,永远不会被执行。有没有压缩器在缩小代码时具有删除此代码的智能

javascript - HTML5 Canvas 中的一百个上下文与一个上下文?

我正在创建一个使用CanvasAPI的简单物理引擎。性能方面的最佳实践是什么?是为Canvas中的每个对象(例如每个球、盒子等)创建一个单独的上下文,还是只使用一个上下文?后者涉及为每个要重绘的对象定义上下文中的路径,以及设置颜色等。当对象数量接近一百时使用多个上下文是个坏主意吗?我之所以问,是因为我不想在一百个工作小时后得到惊喜,因为我采用了错误的方法。 最佳答案 多Canvas的性能提升来自了解您使用多Canvas的原因。除非有用,否则不要使用多个Canvas:Canvas是适度昂贵的元素。在移动设备上,Canvas仍然很慢——

javascript - 我可以通过在对象中定位属性来提高查找速度吗?

我已经看到很多关于访问对象属性的最快方法的问题(比如使用.vs[]),但似乎无法找到是否更快地检索对象中声明的比其他对象属性更高的对象属性字面语法。我正在处理一个最多可包含40,000个属性的对象,每个属性都是一个长度为2的Array。我将其用作按值查找。我知道可能有5%的属性是我最需要检索的属性。为了提高性能(减少查找时间),是否值得执行以下任一操作?在对象文字语法的顶部设置最常用的属性?如果#1没有效果,我是否应该创建两个单独的对象,一个具有最常见的5%的属性,首先搜索那个,如果在那里找不到该属性,则使用所有不太常见的属性?或者,有没有更好的办法? 最佳

javascript - 如何在单页(Web)应用程序上进行 "end-client"性能测试?

我们正在评估如何在single-pageapplication(SPA)上测试性能这在很大程度上依赖于JavaScript和动态内容(通过Ajax更新)。流行的负载测试工具,如ApacheJMeter或Gatling能够通过发送HTTP请求用很少的硬件产生巨大的负载。但它们不处理任何Javascript代码。我们想衡量客户端感知的性能,即坐在浏览器前的最终用户感知的性能(包括所有渲染和JavaScript开销)。我们考虑了以下备选方案:使用SeleniumGrid在多台机器上同时运行测试脚本。每个实例都将在运行时收集的延迟数据提交到中央存储库。与上面类似,只是只启动了一个Seleniu

javascript - EmberJS 和 Rails 4 API 的性能问题

我有一个由Rails4RESTAPI提供支持的EmberJS应用程序。该应用程序目前运行良好,但根据正在执行的查询类型,它变得非常缓慢。目前API输出如下:"projects":[{"id":1,"builds":[1,2,3,4]}]当用户有很多项目,其中有很多构建在它们之间拆分时,就会出现问题。EmberJS当前查看builds键,然后向/builds?ids[]=1&ids[]=2发出请求,这是我想要的那种行为。这个问题可能有两个解决方案之一。更新Rails以更有效地加载build_ids更新EmberJS以支持不同的构建查询选项1:更新Rails我已经尝试了各种关于预加载和使用

javascript - 网络包 : How to convert variables on build

关于使用Vue(vue-loader)+Webpack和Chromatism示例:(在开发/源代码上)lettextColor=chromatism.contrastRatio('#ffea00').cssrgb//=>rgb(0,0,0)是否可以告诉Webpack将转换为rgb(0,0,0)buildversion?因此在buildversion上应该转换成如下内容:(为了性能)lettextColor='rgb(0,0,0)' 最佳答案 正如之前的回答和评论已经提到的,没有现成的AOT编译器来处理这种情况(我的意思是这是一个非常