メモリ


メモリ使用量を調べる(memory_get_usage,memory_get_peak_usage)

memory_get_usage()を使います。受け取る変数もメモリ使用量に入ってしまうのであらかじめ変数を定義してから計測を始める必要があります。
引数にtrueを指定するとシステムが割り当てたメモリを受け取れます。そうでないとこのプロセスのみで使用したメモリ使用量を返します。
またmemory_get_peak_usage()を使うと使用した最大のメモリ使用量を返します。
バージョン5.2.1より前は–enable-memory-limitを付けてコンパイルする必要があった様なので注意が必要です。

$ary = NULL;
echo memory_get_usage() . "\n";    // => 638776
echo memory_get_peak_usage() . "\n";    // => 638776


$ary = range(0,1000);
echo memory_get_usage() . "\n";    // => 847432
echo memory_get_peak_usage() . "\n";    // => 847432

$ary = NULL;
echo memory_get_usage() . "\n";    // => 638776
echo memory_get_peak_usage() . "\n";    // => 847432
// 筆者の環境では整数値1000個で208656byte消費するらしい