🐘

PHPで書いたコードのメモリ消費だとかのベンチマークを取得するには?

2024/09/26に公開

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