PHP で解釈する必要があるバッファーがありますが、バッファーで多くの substr を使用すると、おそらく substr が部分文字列の新しいコピーを作成するため、非常に遅くなり、CPU を集中的に使用することが判明しました。
次の方法でバッファ内を前方に移動する必要があります。
X のオフセット (可変バイト数) だけ移動します。または先頭から X バイトを削除する
そのようなことを可能にするコンテナがPHPにありますか?
例 (疑似コード)
while( !done )
{
$itemSize = unpack( ?, $buffer );
$item = substr($buffer, $itemSize );
$done = doSomething( $item );
$buffer = $item;
}
ありがとうございました