jjzjj

Benchmarking

全部标签

php - 为什么 file_put_contents 在此基准测试中表现不佳?

我已经为我担心无法正常工作的部分代码创建了简单的基准测试。我得出了非常奇怪的结果。看看这个基准:benchmarktestfile基准代码是:$start=microtime(true)*1000;//code$log=file_get_contents('test.txt').'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'."\n";file_put_contents('test.txt',$log,LOCK_EX);$end=microtime(true)*1000

php - 效率、基准测试、速度测试、性能

我正在尝试编写一个我正在尝试衡量其效率的脚本。我有几个问题:-对于小型应用程序,是否需要这种分析?还是我变得偏执了?(假设大多数代码都非常高效/没有无限循环)我应该以什么为基准?我应该与什么进行比较?下面是我从ab得到的效率输出。这样是不是太过分了?我是不是在设计这个应用程序时走错了方向?有什么我应该注意的警告信号吗?abs-n10000-c100http://localhost/testappThisisApacheBench,Version2.3Copyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeustech.net/Lice

php - 为什么不同的测试顺序会得到不同的结果?

我更改了测试顺序并得到了不同的结果。我尝试禁用操作码缓存,添加未设置,但仍然得到不同的结果。为什么?http://snipplr.com/view/759/$time_start=microtime(true);$myArray=array();for($i=0;$iarray[]花费了0.145872秒array_push花费了0.154502秒$time_start=microtime(true);$myArray=array();for($i=0;$iarray_push花费了0.197076秒array[]花费了0.122565秒将测试数量增加到500000:array[]花费

php - 有没有办法在 PHP 中跟踪垃圾收集器事件?

我想知道PHP5.3是否有一种方法可以像在Java中那样使用-verbose:gc命令行跟踪垃圾收集器事件。我想知道回收的频率和时间。我也对花在收集上的时间很感兴趣。 最佳答案 好像可以激活GarbageCollectorbenchmarking,使用DGC_BENCH=1标志重新编译PHP。您将获得如下统计信息:GCStatistics-------------Runs:110Collected:2072204Rootbufferlength:0Rootbufferpeak:10000PossibleRemovefromMarke

php - 你如何测试 PHP 类/对象?

我在网上多次读到,在处理PHP中的依赖项时,最好使用依赖项注入(inject)而不是全局变量,因为它更容易测试。有人可以解释这如何使测试变得容易吗?我会用什么来做测试? 最佳答案 我建议学习单元测试并查看一些可用于PHP的工具。我会推荐PHPUnit,但也有SimpleTest,我知道有些人更喜欢。一般来说,最小化可变数据的范围只是一个好主意。就测试而言,您可以编写单元测试来执行小的、原子的功能片段,而不必担心变量已被更改为某些其他操作的副作用。如果你想测试一个对象的状态是a、b还是c,你知道你需要测试什么,因为你确切地知道什么操作

Php CPU 周期基准测试

我们已经将网站的一个重要模块从纯PHP移植到Symfony。这个模块有很多页面点击,因此我们需要判断额外的硬件要求(如果有的话)。我们想要对移植后网页占用的额外内存和CPU周期进行基准测试。PHP中是否有现成的工具或函数来获取这些统计信息?我在php中遇到过getrusage函数,但它似乎并不可靠。 最佳答案 XDebug可用于创建callgrind文件和函数跟踪。前者解释了请求时间花在了哪里、函数调用的计数等。KCacheGrind例如,可用于检查该数据。后者可用于查看现实中某些函数路径如何工作,检查函数的内存使用情况等。

PHP json_decode() 输出 : Object vs Array?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。对于函数json_decode(),输出有2个选项,JSONObject或Array。$obj=json_decode($json_string,false);或$array=json_decode($json_string,true);哪种类型表现更好?

php - 为什么反向循环比正常循环快(包括测试)

我一直在PHP中循环运行一些小测试。不知道我的方法好不好。我发现反向循环比正常循环更快。我还发现while循环比for循环更快。Setup";$xstart=microtime(true);for($x=$counter;$x>0;$x--){echo'';}$xend=microtime(true);echo"inversefor:".($xend-$xstart)."";echo"normal-inverse:".(($wend-$wstart)-($xend-$xstart))."";$ystart=microtime(true);$y=0;while($y";$zstart=m

php - 在服务器上执行 php 脚本非常慢

这个问题与我的另一个问题有关,foundhere.起初我认为这是一个网络问题,但越来越有可能,这与我的php配置和php文件的运行有关。我做了以下测试用例:我创建了一个php文件,将其命名为test.php,内容如下:并创建了两个bash文件,内容如下://bash1.sh#!/bin/bash/usr/bin/php/testFirstByte/test.php另一个用//bash2.sh#!/bin/bashechoTest;然后我开始为它们的运行计时,运行每个运行并在它之前使用“时间”命令,即:timephptest.php结果如下://timephptest.phptestre

php - 在 Zend Framework 中查找执行时间的最佳实践方法

我对查找ZendFramework应用程序执行时间的最佳/标准方法很感兴趣。目前我在public/index.php上启动计时器,然后在Zend_Registry中注册它,以供稍后调用,然后布局使用它来计算总时间。有更好的方法吗?我知道这甚至不完全准确,因为在postDispatch()中仍然(或至少可以)执行一些将在呈现View后运行的执行。 最佳答案 我最后添加了$appStartTime=microtime();在Bootstrap被实例化之前,把global$appStartTime;@list($startMilli,$s