🐘
PHPで書いたコードのメモリ消費だとかのベンチマークを取得するには?
PHPでコードのメモリ消費やパフォーマンスのベンチマークを取得するには、以下のような方法があります:
memory_get_usage() 関数の活用
PHPの組み込み関数 memory_get_usage()
を使うことで、現在のスクリプトが使用しているメモリ量を簡単に測定できます。
$startMemory = memory_get_usage();
// ベンチマークしたいコード
$endMemory = memory_get_usage();
$memoryUsed = $endMemory - $startMemory;
echo "使用メモリ: " . $memoryUsed . " バイト";
時間計測との組み合わせ
メモリ使用量と実行時間を同時に計測することで、より包括的なベンチマークが可能です:
$startMemory = memory_get_usage();
$startTime = microtime(true);
// ベンチマークしたいコード
$endTime = microtime(true);
$endMemory = memory_get_usage();
$memoryUsed = $endMemory - $startMemory;
$executionTime = $endTime - $startTime;
echo "使用メモリ: " . $memoryUsed . " バイト\n";
echo "実行時間: " . $executionTime . " 秒";
メモリ使用量の可読性向上
大きな数値を読みやすくするために、単位変換関数を使用できます:
function convertMemoryUsage($size)
{
$unit = array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$memoryUsed = memory_get_usage(true);
echo "使用メモリ: " . convertMemoryUsage($memoryUsed);
ピークメモリ使用量の計測
memory_get_peak_usage()
関数を使用すると、スクリプト実行中の最大メモリ使用量を取得できます:
$peakMemory = memory_get_peak_usage(true);
echo "ピークメモリ使用量: " . convertMemoryUsage($peakMemory);
これらの方法を組み合わせることで、PHPコードのメモリ消費とパフォーマンスを簡単にベンチマークできます。より詳細な分析が必要な場合は、XHGuiなどの専門的なプロファイリングツールの使用を検討するとよいでしょう。
Discussion