Tag: 性能

性能调整淘汰赛应用程序 – 改进响应时间的指导方针

我有一个庞大而复杂的页面,严重依赖于knockout.js。 性能开始成为一个问题,但考察调用堆栈并试图find瓶颈是一个真正的挑战。 我注意到另一个问题( Knockout.js – 理解foreach和 ),接受的答案有评论: …我build议不要使用高性能是必要的,因为开销… 假设声明是真实的,这是真正有用的东西知道,我还没有find这样的性能提示的来源。 所以我的问题是: 在进行经典的性能调优之前,是否可以使用一般准则/重要提示来帮助我的应用程序的性能?

是否有可能得到postgres中查询的历史logging

是否有可能得到在postgres中查询的历史? 是否有可能获得每个查询花费的时间? 我目前正在尝试识别正在处理的应用程序中的慢查询。 我正在使用Postgres 8.3.5

数组边界检查.NET 4及以上的效率

我感兴趣的是如何有效的低级algorithm可以在.net。 我想让我们select在C#中编写更多的代码,而不是将来编写C ++代码,但是一个绊脚石就是.NET中的边界检查,这种检查是随循环和随机访问数组而发生的。 一个激励的例子是计算两个数组中相应元素的乘积之和的函数(这是两个向量的点积)。 static void SumProduct(double[] X, double[] Y) { double sum = 0; int length = X.Length; if (length != Y.Length) throw new ArgumentException("X and Y must be same size"); for (int i = 0; i < length; i++) // Check X.Length instead? See below sum += X[i] * Y[i]; } 从我所知道的,并不知道足够的IL或x86来检查,编译器不会优化X 和 […]

Java 8 lambda和匿名内部类之间的性能差异

在Java 8之前,可以通过使用匿名内部类来实现lambdafunction。 例如: interface Lambda { void doStuff(); } // … public void doWithCallback(Lambda callback) { // … callback.doStuff(); } // … doWithCallback(new Lambda { public void doStuff() { // … } }); 在性能方面,仍然使用这种方法和使用新的Java 8 lambdaexpression式有什么区别?

按升序/降序快速sortingdata.table

我有一个约300万行和40列data.table。 我想按照下面的SQL模拟代码按照降序sorting这个表: sort by ascending Year, ascending MemberID, descending Month data.table中有一个等价的方法来做到这一点? 到目前为止,我必须将其分解成2个步骤: setkey(X, Year, MemberID) 这是非常快的,只需要几秒钟。 X <- X[,.SD[order(-Month)],by=list(Year, MemberID)] 这一步需要更长的时间(5分钟)。 更新:有人发表评论做X <- X[sort(Year, MemberID, -Month)] ,后来被删除。 这种方法似乎要快得多: user system elapsed 5.560 11.242 66.236 我的方法:setkey()然后命令(-Month) user system elapsed 816.144 9.648 848.798 我现在的问题是:如果我想在Year,MemberId和Month(Year,MemberID,Month)之后进行总结,data.table是否能识别sorting顺序? 更新2:回应Matthew Dowle: 设置Year,MemberID和Month后,我仍然有多组logging。 我想要对每个组进行总结。 我的意思是:如果我使用X [order(Year,MemberID,Month)],求和是否利用data.table的二进制searchfunction: monthly.X <- X[, lapply(.SD[], sum), by = […]

慢速上传到运行Android模拟器

我已经search,但没有发现任何疑问或对我的具体情况的答案。 我有一台运行Windows 7的大容量内存的新机器。我正在使用最新的Eclipse和Android SDK。 当我运行一个应用程序时,仿真器需要大约45秒的时间才能启动(仿真器速度非常快!),从运行启动到运行我的应用程序。 如果我然后更改应用程序,并在仍在运行的模拟器上重新运行它,时间增加到70+秒! 与所有其他投诉相反,在我的情况下重新启动模拟器比使用现有的实例更快。 我不喜欢那样 这是时代: 2011-09-29 13:07:13 – hello Uploading hello.apk onto device 'emulator-5554' 2011-09-29 13:07:18 – hello Installing hello.apk… 2011-09-29 13:07:37 – hello Success! 在更改应用程序以重新运行之后重新运行: 2011-09-29 13:08:18 – hello Uploading hello.apk onto device 'emulator-5554' 2011-09-29 13:09:16 – hello Installing hello.apk… 2011-09-29 13:09:24 – hello Success! 正如你所看到的,当仿真器刚刚启动时,上传到仿真器只需要5秒钟。 运行模拟器需要将近一分钟的时间! 这是延长重新运行时间的原因。 即使在重新运行之前卸载模拟器上的应用程序,这也不会改变。 任何想法,我可以尝试解决这个问题? […]

如何将Browserify与外部依赖关系一起使用?

我试图慢慢地将Browserify引入到我的网站,但我不想重写所有的js,我不想重复实例的jQuery和其他库与我的Browserify构build捆绑。 如果我build立我的模块列表jquery作为外部依赖,然后如何将它指向我的全局jQuery实例? 另外的目标是消除全球的mylib(下面的例子),所以我不想在我的模块中使用它。 这就是我想要做的(psudo-code)。 这将在我的网站的回购 – 而不是模块的。 该模块将与Bower一起安装: var mylibs.jQuery = $.noConflict(); // global used by lots of existing code module.exports = { jquery: mylibs.jQuery // can be imported by my module as require('jquery') }; 类似的东西就是我想要实现的。 这可能吗?

过时的Java优化技巧

Java编译器已经淘汰了大量性能技巧,特别是Profile-guided优化 。 例如,这些平台提供的优化可以大幅(根据来源)降低虚函数调用的成本。 虚拟机也可以方法内联,循环展开等 还有哪些其他的性能优化技术还在应用中,但实际上已经被更现代的JVM中的优化机制所淘汰了?

什么是在Python中分析大型XML文档的最快方法?

我目前是基于Python Cookbook第12.5章的以下代码: from xml.parsers import expat class Element(object): def __init__(self, name, attributes): self.name = name self.attributes = attributes self.cdata = '' self.children = [] def addChild(self, element): self.children.append(element) def getAttribute(self,key): return self.attributes.get(key) def getData(self): return self.cdata def getElements(self, name=''): if name: return [c for c in self.children if c.name == name] else: return list(self.children) class […]

PostgreSQL UNIX域套接字与TCP套接字

我不知道如果UNIX域套接字与PostgreSQL的连接速度更快,然后从本地主机的TCP连接高并发率,如果它,多less?