memory_get_usage()
は、プログラムの変数とこれらの変数の内部的な保存を保存するためにPHPが使用するメモリ量を返します。
memory_get_usage()
によって返される値と、スクリプトによって処理される実際の値を格納するために使用されるメモリの量の間に直接のリンクはありません。
PHP変数には型がないため、各変数は任意の型の値を格納できるデータ構造体を使用します。これは、bool
値の1ビットペイロードの場合でも、PHPは大量のメモリを使用していることを意味しています(おそらく、測定した168バイト)。
配列は、配列、ハッシュ、ダブルリンクリストの構造と機能を混在させる複合型なので、値が配列の一部である場合はさらに大きくなります。これらの異なるデータ構造の機能を提供するために、配列型は格納するオブジェクト間のリンクを保持し、これらのリンクもメモリを使用します。
PHP 7は、それが内部的にそのデータを格納する方法を変更して、あなたはどのように知りたい場合は平均的で、それは、しかし、PHP 5
によって使用されるメモリの約半分にメモリ使用量を削減しました多くのバイトが(可能な値、FEのその範囲を知るために)実際の浮動小数点値を格納するために使用され、情報はで提供されdocumentation page of the float type:
float
の大きさがあるが、プラットフォームに依存しています最大約1.8e308の精度で約14桁の10進数が一般的な値(64ビットIEEE形式)です。
I「はプラットフォームに依存」と仮定し、それが32ビットプラットフォーム(float
ための伝統的な大きさ)と、64ビットより大きなプラットフォーム(従来double
)上の8バイトに4つのバイトを使用します。
ありがとうございます!私がPHP5専用ライブラリを使用していることは残念です。私はPHP7を使って自分のプロセスを試しました。残念ながら、私はPHP5に対応する必要があります。再度、感謝します! :) – MemoNick