突发,写了一段测试电脑速度的代码技术
突发奇想,想试试电脑循环一个 INT MAX 需要多久,发现可以测量下电脑的速度,一举两得!
为什么会这么想呢,因为我总是担心 MySQL 自增超出了怎么办,如何自动的避免这些带来的报错!
测试下 INT_MAX 循环下来耗时多久吧,我比较担心自动增长是不是有问题的设计,如果达到了最大值怎么办?这样程序崩溃了啊,对于频繁增删的表来讲,达到这个最大值不需要多久。
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 亿次循环。
$ 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
暂无