CLI を使用して処理している大量のデータがあります。
スクリプトでは、データは foreach サイクルを通過します。
しかし、繰り返しのたびに、メモリ消費量はますます大きくなっています。
なぜこうなった?すべての var がループ内で再割り当てされるため、メモリ リークがあってはなりません。すべての反復の最後に var null を設定しようとしましたが、役に立ちませんでした。
ループでは、オブジェクト (ActiveRecord) を使用し、DB を操作します。
最初はスクリプトは非常に高速に動作し (1 秒あたり約 10 回の反復)、最終的にはそのパフォーマンスは 1 秒あたり 1 回未満の反復になります。
ありがとう。