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