2016-09-28 18 views
1

解決策を探すときには、いくつかの方法があります。私はよく知っている構文と最もよく似たソリューションを使用します。しかし、時には遠く離れている最強のソリューションには、this threadのように新しいモジュールをインポートすることがあります。Pythonモジュールのインポートはパフォーマンスに影響しますか?

私は既に50K回ループする大きなスクリプトでさまざまなモジュールをインポートしています。追加のモジュールのインポートは処理時間に影響するか、そうでなければスクリプトの効率に影響しますか?呼び出されるモジュールのサイズについて心配する必要はありますか?一般に、すでに使用しているモジュールに含まれているメソッドを使用して解決策を見つけるのに余計な時間と労力が必要かどうかについてのガイダンスを求めています。

+0

あなたのコードはまだプロファイルされていますか? –

+0

モジュールをインポートすることは、コードが行うことと比べて重要ではありません。輸入コストに焦点を当てることは貴重な時間ではありません。モジュールがあなたの問題の代わりにできることに焦点を当ててください。 –

+0

@イグナシオ:いいえ、私はいませんでした(そして、私にこの言葉を紹介してくれてありがとう)。私はまだ基​​本的なアーキテクチャを構築しています。最初の実行では、1回のパスに11秒かかりました。私はもう少し機能を追加しましたが、一方では改善の余地がたくさんあると確信しています。 – joechoj

答えて

2

Pythonのすべてのバイトコードがパフォーマンスに影響します。ただし、そのコードがクリティカルパス上にあり、繰り返し回数が多い場合を除き、その影響は無視されます。 importを使用して

は、2つの異なる手順で構成されます(たらちょうどを行って)モジュールをロードし、インポートした名前がモジュールによってロードされた何かを参照するために、あなたの名前空間に追加された名前(またはモジュールオブジェクトそのものを結合します)。名前のバインドにはほとんどコストがかかりません。モジュールのロードは一度だけ行われるため、パフォーマンスには影響しません。

代わりに、問題を効率的に解決するためにモジュールの機能が果たすことができることに焦点を当ててください。

関連する問題