メモリコストは明らかにモジュールの正確な大きさに依存しますが、私は一般的な答えしか探していません:Pythonでモジュールをインポートするのは一般的に高価ですか安いですか?アプリケーションの全期間にわたってメモリに潜んでいる可能性のある数十種類の小さなスクリプトがある場合、どれくらいメモリを消費しますか?Python:モジュールをインポートするためのメモリコスト
4
A
答えて
7
時間コスト(モジュールが一度しかインポートされないので愚かではない)は心配していないようですが、メモリコストです。私はあなたに言いました:これらのモジュールのすべての機能が必要な場合は、をどのように正確に計画して、をすべてメモリに保存しないようにしますか?最も論理的な方法でちょうどimport
のものもあります。
つまり、Python import
は文でありプリプロセッサディレクティブ(またはそれに類するもの)のようなものではないため、実際に内容が必要になるまでモジュールのインポートを遅らせることができます適切な時に。これは、特に大規模なプロジェクトや複雑なプロジェクトで有意義な最適化を行うことができます。覚えておいてください。foo.bar
を参照すると、Pythonコンパイラはfoo
があるかどうかをチェックしません。実行時にすべての名前がルックアップされます。ダックタイピングがここで始まります。 foo.bar
コードは、foo
がモジュール、クラス、またはオブジェクトの名前であるかどうかは気にしません。 (基本的にモジュールとクラスはオブジェクトですが、私は逃げます...)
+0
これは本質的にBazaar DVCSの機能です。そのソースとその "lazy_import"メカニズムをチェックアウトすることができます。 –
関連する問題
- 1. モジュールをインポートするためのeval
- 2. インポートのpythonモジュールに
- 3. 1つのファイルでのみ使用するためにPythonモジュールをインポートする
- 4. pythonモジュールのインポートの質問
- 5. 複数のPythonモジュールのインポート
- 6. Pythonのインポート:.py拡張子を持たないモジュールのインポート?
- 7. python newbie:eclipseでnumpyモジュールをインポートする
- 8. 相対モジュールをインポートするPython
- 9. Pythonモジュールを動的にインポートする
- 10. wxモジュールをPythonでインポートする
- 11. htmlのためのpythonモジュール
- 12. 埋め込みPython:インポートされたモジュールからfunc objを取得する
- 13. Pythonインポートされたモジュールの関数を模倣する
- 14. xlsファイルをインポートするためのpython3モジュール
- 15. Python:インポートされたモジュールの絶対パスを見つける
- 16. Pythonクラス内でのモジュールのインポート
- 17. Pythonモジュールのインポートは、未知の理由
- 18. Pythonでのモジュールのインポートと使用
- 19. なぜPythonモジュールをインポートしても、ネストされたモジュールをインポートできないのですか?
- 20. Pythonがモジュールをインポートできません
- 21. appengine pythonモジュールをインポートできません
- 22. Python 2.7:指定された変数に基づいて、インポートされたモジュールの動的モジュールのインポート
- 23. python: 'ネストされた'モジュールを持つインポートされたパッケージ
- 24. モジュールとグローバル変数をまたいだPythonのインポート
- 25. Python:サブパッケージと同じ名前のモジュールをインポートするには?
- 26. Pythonでモジュールの一部をインポートするには?
- 27. python 2.7の兄弟ディレクトリからモジュールをインポートするには?
- 28. Pythonモジュールを1つのクラスにインポートする
- 29. DjangoでPythonモジュールをインポート中にエラーが発生しました
- 30. Boost Python:モジュールのインポート中に問題が発生しました
あなたが組み込みのプラットフォームなどでない限り、私は心配しません。なぜそれを試してみてください。ほとんどの(すべて?)OSは、プロセスがどれだけのメモリを使用しているかを見る方法を持っています。 –
@gnibblerは確かですが、一般的にあまり正確ではありません。最近のOSのメモリ管理には、数層の煙や鏡が必要です。しかし、とにかく問題ではないと私は同意します:) –