新手瞎写的,欢迎扩展或批评指导。
目前仅记录耗时与内存占用,还有其他需要记录的属性吗?
有些注释部分标记了疑问,欢迎高人解答。
耗时内存记录类
<?php /** * 耗时内存记录类,记录代码消耗 */ class Test { private static $d = array();//用于存储记录 public static function m($str=""){//记录时间与内存,m表示mark $o=array(); if($str) $o['title']= $str; else{ $o['title']='第'.(count(self::$d)+1).'部分'; } list($usec,$sec)=explode(" ",microtime()); $o['time']=(float)$usec+(float)$sec;//这行是copy来的,不加(float)会怎么样? $o['memory']= memory_get_usage(); self::$d[]=$o; } public static function show(){//输出 self::m(); $arr =& self::$d; $r=null; $n=count($arr)-1; for($i=0; $i<$n; $i++){ $r.=$arr[$i]['title'].'<br /> 耗时增加:'. number_format(($arr[$i+1]['time'] - $arr[$i]['time']),6) .'<br /> 内存增加:'.( $arr[$i+1]['memory'] - $arr[$i]['memory'] ).'<br /><br />'; } $r.='汇总<br /> 总耗时:'. number_format(($arr[$n]['time'] - $arr[0]['time']),6) .'<br /> 总内存:'.( $arr[$n]['memory'] - $arr[0]['memory'] ).'<br /><br />'; echo $r; } }
2.使用方法
<?php $arr1=$arr2=$arr3=array(); $i=$j=$n=9999; Test::m('测试 $arr1[]=$i'); while($i--) $arr1[]=$i; Test::m('测试 array_push($arr2,$j)'); while($j--) array_push($arr2,$j); Test::m('测试 $arr3[$n]=$n '); while($n--) $arr3[$n]=$n; Test::show();//求教,有没有简单办法节省这行代码,静态类可以用析构函数自动调用吗? /* 输出 测试 $arr1[]=$i 耗时增加:0.002209 内存增加:1412040 测试 array_push($arr2,$j) 耗时增加:0.004101 内存增加:1411968 测试 $arr3[$n]=$n 耗时增加:0.002527 内存增加:1411984 汇总 总耗时:0.008837 总内存:4235992 */

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan