我如何比较两种算法之间的PHP效率?

时间:2014-12-28 14:53:12

标签: php performance-testing

这是两个以两种不同方式在1000个文件夹中创建1000个文件的函数:

第一种方法

function createEverything() {
    for($i = 1; $i < 1000; $i++) {
        mkdir('test/'.$i);
        file_put_contents("test/".$i."/".$i.".txt", time());
    }
}

第二种方法

function createEverything() {
    for($i = 1; $i < 1000; $i++) {
        exec("mkdir test/".$i);
        exec("touch test/".$i."/".$i.".txt");
        exec("echo ".time()." >> test/".$i."/".$i.".txt");
    }
}

第二种方法使用unix命令在1000个文件夹中创建1000个文件。
现在我的问题是可以分别为这两个单独的方法获取CPU信息,RAM使用和其他性能相关信息,所以我可以比较哪一个适合我? / p>

1 个答案:

答案 0 :(得分:0)

尝试Apache Benchmark(ab / ab.exe)。 创建两个文件 - 每个算法一个 还要添加每个完全相同的代码以删除它们创建的所有内容(但相同的代码应该这样做)。

然后使用ab来测试每个文件(单独),每次尝试大约100-1000次。 (两个脚本的编号相同); 然后(因为两者都使用相同的东西删除)只有创建算法才能产生差异。

玩得开心^^