LMLPHP后院

突发,写了一段测试电脑速度的代码技术

maybe yes 发表于 2021-05-08 17:03

突发奇想,想试试电脑循环一个 INT MAX 需要多久,发现可以测量下电脑的速度,一举两得!

为什么会这么想呢,因为我总是担心 MySQL 自增超出了怎么办,如何自动的避免这些带来的报错!

测试下 INT_MAX 循环下来耗时多久吧,我比较担心自动增长是不是有问题设计如果达到了最大值怎么办?这样程序崩溃了啊,对于频繁增删的表来讲,达到这个最大值不需要多久。

test.php 文件内容

for ($i=0; $i<2147483647; $i++) {
        if ($i==2147483646) {                                                                                                                                                          
                var_dump('ok');
        }
}

来看看 Mac Book Pro 顶配怎么样吧?

$ time php test.php 
string(2) "ok"

real	0m26.839s
user	0m26.792s
sys	0m0.022s

运行结果,26 秒,差不多 1 秒钟接近 1 亿次循环。

来看看树莓派 4B+ 2G 版本运行结果吧!

$ time php test.php 
string(2) "ok"

real	1m36.356s
user	1m36.295s
sys	0m0.036s

这就是差距啊,比 Mac 用了 3 倍多的时间,从平时的运行其他程序来看,并感觉不出什么区别?因为运行速度受存储网络,IO 等的影响,这个代码估计只是测试了 CPU。

下面是树莓派 4B+ 8G 版本运行结果,时间比 2G 版本稍微多一点。

$ time php test.php 
string(2) "ok"

real	1m41.645s
user	1m41.510s
sys	0m0.054s
2021-10-24 07:22:14 1635031333 0.036337