私が今コーディングしているプログラムは、データ項目のかなり巨大なリストを作成します。
これで、このリストをグローバル (他のモジュールの他の関数で使用できるようにする) にして、他のすべてのモジュールで使用できるようになります。または、モジュール内の関数の関数引数として渡すこともできます。
私が話しているこの巨大な配列は、他のモジュールの関数では変更されないことに注意してください。それらはデータを読み取り、計算やデータ統計などに使用するだけです.
それで、メモリ消費量が最も少ない2つの方法は?
関数に渡すことによって、関数がそれを変更しなくても、言語が巨大なリストのローカル複製を作成すると、メモリ消費が2倍になり、これは良いことではありません。これが発生した場合は、グローバルにして使用できます。私はかつておもちゃの言語を書いたときに、この特定の問題を含めたので、pythonのメモリ管理にこの疑問を抱きました..つまり、引数データは編集された場合にのみ複製されます..そうでなければ、常に元のデータを指します.