Tag: performance

生成所有可能的三字母string的最佳方法是什么?

我生成所有可能的三个字母关键字, eg aaa, aab, aac…. zzy, zzz下面是我的代码: alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] keywords = [] for alpha1 in alphabets: for alpha2 in alphabets: for alpha3 in alphabets: keywords.append(alpha1+alpha2+alpha3) 这个function是否能够以更加圆滑和高效的方式实现?

如何索引vector序列中的vector序列

我有一个问题的解决scheme,涉及循环和工作,但我觉得我失去了一些涉及更有效的实现。 问题:我有一个数字向量序列,并且想要识别第一个向量的另一个向量中的起始位置。 它是这样工作的: # helper function for matchSequence # wraps a vector by removing the first n elements and padding end with NAs wrapVector <- function(x, n) { stopifnot(n <= length(x)) if (n == length(x)) return(rep(NA, n)) else return(c(x[(n+1):length(x)], rep(NA, n))) } wrapVector(LETTERS[1:5], 1) ## [1] "B" "C" "D" "E" NA wrapVector(LETTERS[1:5], 2) ## [1] […]

目标C消息调度机制

我只是盯着目标C(编写玩具iPhone应用程序),我很好奇用于发送消息的基本机制。 我很好的理解了C ++中的虚函数是如何实现的,以及静态或非虚方法调用的代价是什么,但是我没有Obj-C的背景知道如何发送消息。 浏览周围,我发现这个松散的基准,它提到IMPcaching的消息比虚拟函数调用更快,而这又比标准的消息发送更快。 我不是想优化任何东西,只是更深入地了解消息如何发送。 如何调度Obj-C消息? 实例方法指针如何获得caching,并且你能(通常)通过读取代码告诉消息是否会被caching? 类方法与C函数(或C ++中的静态类方法)本质上是相同的,还是有更多的东西? 我知道其中的一些问题可能是“依赖于实现”,但是只有一个实现是真正重要的。

Android onClick与OnClickListener

我意识到之前已经提出了一个类似措辞的问题,但这是不同的。 我在开发android应用程序方面很新颖,关于android:onclick="" XML属性和setOnClickListener方法之间的区别,我有三个问题。 两者有什么区别? 在编译时间或运行时间或两者之间find两个实现之间的差异? 哪些用例有利于哪些实现? Android中的片段使用在实现select上有什么不同?

与项目欧拉速度比较:C vs Python与Erlang vs Haskell

我把Project Euler的 问题#12作为一个编程练习,比较了C,Python,Erlang和Haskell中的我的(当然不是最优的)实现。 为了获得更高的执行时间,我search了第一个有1000个以上因子的三angular形数字,而不是原始问题中所述的500。 结果如下: C: lorenzo@enzo:~/erlang$ gcc -lm -o euler12.bin euler12.c lorenzo@enzo:~/erlang$ time ./euler12.bin 842161320 real 0m11.074s user 0m11.070s sys 0m0.000s python: lorenzo@enzo:~/erlang$ time ./euler12.py 842161320 real 1m16.632s user 1m16.370s sys 0m0.250s Python与PyPy: lorenzo@enzo:~/Downloads/pypy-c-jit-43780-b590cf6de419-linux64/bin$ time ./pypy /home/lorenzo/erlang/euler12.py 842161320 real 0m13.082s user 0m13.050s sys 0m0.020s 二郎: lorenzo@enzo:~/erlang$ erlc euler12.erl lorenzo@enzo:~/erlang$ time erl -s euler12 solve […]

String.Format和StringBuilder一样高效

假设我在C#中有一个stringbuilder,它是这样做的: StringBuilder sb = new StringBuilder(); string cat = "cat"; sb.Append("the ").Append(cat).(" in the hat"); string s = sb.ToString(); 那么效率会更高,或者更高效: string cat = "cat"; string s = String.Format("The {0} in the hat", cat); 如果是这样,为什么? 编辑 经过一些有趣的回答,我意识到我应该在我所问的问题上更清楚些。 我并不是要求串联一个string的速度更快,而是将一个string注入另一个string更快。 在上面的两种情况下,我想注入一个或多个string到预定义的模板string的中间。 对困惑感到抱歉

regex.test VS string.match来知道一个string是否与正则expression式匹配

很多时候我使用stringmatch函数来判断一个string是否与正则expression式匹配。 if(str.match(/{regex}/)) 这有什么区别: if (/{regex}/.test(str)) 他们似乎给出了相同的结果?

WCF绑定使用的序列化的性能testing

我有以下的对象: public partial class Game { public bool Finished { get; set; } public Guid GameGUID { get; set; } public long GameID { get; set; } public bool GameSetup { get; set; } public Nullable<int> MaximumCardsInDeck { get; set; } public Player Player { get; set; } public Player Player1 { get; set; } […]

Javamatrixmath库的性能?

我们正在计算一些运行时受matrix运算约束的东西。 (如果感兴趣,下面有些细节。)这个经验提示下面的问题: 民间有经验的matrixmath(例如,乘法,逆等)Java库的性能? 例如: JAMA 小马 阿帕奇公用math 我search,什么也没找 我们的速度比较的细节: 我们正在使用英特尔FORTRAN(ifort(IFORT)10.1 20070913)。 我们已经用Java(1.6)重新实现了它,使用了Apache commons math 1.2matrix操作,并且它同意所有的数字的准确性。 (我们有理由希望在Java中。)(Java双打,Fortran真正* 8)。 Fortran:6分钟,Java 33分钟,同一台机器。 jvisualm分析显示在RealMatrixImpl中花了很多时间{getEntry,isValidCoordinate}(似乎已经在未发行的Apache commons math 2.0中消失了,但是2.0不会更快)。 Fortran正在使用Atlas BLAS例程(dpotrf等)。 显然这可能取决于我们在每种语言中的代码,但是我们相信大部分时间是在等效的matrix运算中。 在其他一些不涉及库的计算中,Java的速度并不是很慢,有时候要快得多。

你怎么能加快Eclipse?

你怎么能更快地使用Eclipse的经验? 例如:我禁用了所有我不需要的插件(Mylyn,Subclipse,…)。 我没有使用Mercurial插件,而是将TortoiseHGconfiguration为外部工具。