Tag: 性能

如何清除APCcaching条目?

当我部署新版本的站点时,我需要清除所有的APCcaching条目。 APC.php有一个清除所有操作码高速caching的button,但是我没有看到清除所有用户条目或所有系统条目或所有每个目录条目的button。 是否有可能通过命令行或其他方式清除所有caching条目?

精确的时间测量性能testing

什么是最确切的方式来看一些东西,例如方法调用,代码? 最容易和最快的我猜想是这样的: DateTime start = DateTime.Now; { // Do some work } TimeSpan timeItTook = DateTime.Now – start; 但是这个确实如此呢? 有更好的方法吗?

如何基准PHP脚本的效率

我想知道什么是testing我的PHP脚本的最好方法。 如果是cron作业,网页或web服务,则无关紧要。 我知道我可以使用microtime,但它真的给了我一个PHP脚本的实时? 我想在PHP中testing和testing不同的function,做同样的事情。 例如, preg_match vs strpos或domdocument vs preg_match或preg_replace vs str_replace` 网页示例: <?php // login.php $start_time = microtime(TRUE); session_start(); // do all my logic etc… $end_time = microtime(TRUE); echo $end_time – $start_time; 这将输出:0.0146126717(随时变化 – 但这是我得到的最后一个)。 这意味着执行PHP脚本需要0.015左右。 有没有更好的办法?

纯function编程的效率

有没有人知道什么是纯粹的function编程,而不是命令性地(即允许副作用)编程时可能发生的最糟糕的渐近放缓? 来自itowlson的评论澄清 :有没有什么问题最着名的非破坏性algorithm比最好的已知破坏性algorithm渐近地差,如果是这样,多less?

ADD 1真的比INC快吗? x86

我已经阅读了各种优化指南,声称ADD 1比在x86中使用INC更快。 这是真的吗?

在Java中比较两组的最快方法是什么?

我正在尝试优化比较列表元素的一段代码。 例如。 public void compare(Set<Record> firstSet, Set<Record> secondSet){ for(Record firstRecord : firstSet){ for(Record secondRecord : secondSet){ // comparing logic } } } 请注意套内的logging数量会很高。 谢谢 谢卡尔

链接ATLAS / MKL到已安装的Numpy

TL; DR如何在不重build的情况下将ATLAS / MKL链接到现有的Numpy。 我用Numpy来计算大matrix,我发现它很慢,因为Numpy只使用1个核心来进行计算。 做了很多search之后,我发现我的Numpy没有链接到像ATLAS / MKL这样的优化库。 这是我的numpy的configuration: >>>import numpy as np >>>np.__config__.show() blas_info: libraries = ['blas'] library_dirs = ['/usr/lib'] language = f77 lapack_info: libraries = ['lapack'] library_dirs = ['/usr/lib'] language = f77 atlas_threads_info: NOT AVAILABLE blas_opt_info: libraries = ['blas'] library_dirs = ['/usr/lib'] language = f77 define_macros = [('NO_ATLAS_INFO', 1)] atlas_blas_threads_info: NOT AVAILABLE openblas_info: […]

C#是'操作员的performance

我有一个需要快速性能的程序。 在其内部的一个循环中,我需要testing一个对象的types,看它是否从某个接口inheritance。 一种方法是使用CLR的内置types检查function。 最优雅的方法可能是“is”关键字: if (obj is ISpecialType) 另一种方法是给基类自己的虚拟GetType()函数返回一个预先定义的枚举值(在我的情况下,实际上,我只需要一个布尔)。 这种方法会很快,但不太优雅。 我听说有一个专门针对“is”关键字的IL指令,但这并不意味着在翻译成本地程序集时执行得更快。 任何人都可以分享一些洞察'是'与另一种方法的performance吗? 更新:感谢所有的知情答案! 似乎有一些有用的观点分布在答案中:Andrew关于'是'自动执行演员的观点是必不可less的,但Binary Worrier和Ian收集的演出数据也非常有用。 如果其中一个答案被编辑,包括所有这些信息,那将是非常好的。

调用委托与方法的性能

在这个问题之后 – 传递方法作为参数使用C#和我的一些个人经验,我想了解更多关于调用委托的performance,而不是只调用C#中的方法。 虽然代表非常方便,但我有一个应用程序,通过委托做了很多的callback,当我们重写这个使用callback接口时,我们得到了一个数量级的速度提升。 这是与.NET 2.0,所以我不知道3和4如何变化。 在编译器/ CLR中如何调用内部处理的委托,以及这如何影响方法调用的性能? 编辑 – 澄清我的意思是代表与callback接口。 对于asynchronous调用,我的类可以提供调用者可以订阅的OnComplete事件和关联的委托。 或者,我可以使用调用者实现的OnComplete方法创build一个ICallback接口,然后将自己注册到将在完成时调用该方法的类(即Java处理这些事情的方式)。

什么是更快,打开string或elseif的types?

比方说,我可以select一个代码path,以string比较为基础,否则如果是这样的话: 哪个更快,为什么? switch(childNode.Name) { case "Bob": break; case "Jill": break; case "Marko": break; } if(childNode is Bob) { } elseif(childNode is Jill) { } else if(childNode is Marko) { } 更新:我问这个问题的主要原因是因为switch语句对于什么来说是个奇怪的事情。 例如它不会允许你使用variables,只有常数被移动到主程序集。 我以为它有这个限制,由于一些时髦的东西,它正在做。 如果只是翻译成elseifs(就像一个海报发表的评论)那么为什么我们不允许在case语句中使用variables? 警告:我在后优化。 这个方法在应用程序的缓慢部分被调用了很多次。