PHPにて特定の処理にかかった時間とメモリ使用量を測定する方法
2024/04/17
PHPにて特定の処理にかかった時間とメモリ使用量を測定したい。以下にソースコードをメモ。
ソースコード
<?php
//処理開始
$start_time = microtime(true);
/*処理したい内容をここに記述する*/
//処理終了
$end_time = microtime(true);
//処理にかかった時間を計算
$rs = $end_time - $start_time;
//メモリ使用量確認用の関数
function formatBytes( $bytes, $precision = 2, array $units = null ){
if( abs($bytes) < 1024 ){
$precision = 0;
}
if( is_array($units) === false ){
$units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
}
if( $bytes < 0 ){
$sign = '-';
$bytes = abs($bytes);
}else{
$sign = '';
}
$exp = floor(log($bytes) / log(1024));
$unit = $units[$exp];
$bytes = $bytes / pow(1024, floor($exp));
$bytes = sprintf('%.'.$precision.'f', $bytes);
return $sign.$bytes.' '.$unit;
}
//処理時間とメモリ使用量を出力
echo '処理時間:' . $rs . '秒 / メモリ使用量:' . formatBytes(memory_get_usage());
memory_get_usage
http://php.net/manual/ja/function.memory-get-usage.php
参考サイト
関連記事
-
-
PHP8系の環境でdBug.phpライブラリが使用できない場合の対応方法
先日メモしたdBug.phpをPHP8系の環境で試すと動作しなかった。ただエラー ...
-
-
PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法
あるシステムからPHPで外部のAPIにリクエストしたかった。ただ、複数回リクエス ...
-
-
PHPでXML形式データをオブジェクト・JSON・連想配列に変換する方法
先日バニラJavaScriptでXML形式データの取り扱いとJSON形式への変換 ...
-
-
MySQLで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法
phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...
-
-
PHPにてmicrotimeで秒数を測定した際「xxxxxE-5」のような値になる場合の対応方法
PHPで過去記事を参考の上、あるプログラムの処理にかかった時間を測定しようとした ...