2017-08-11 19 views
4

私はPythonには新しくEclipseでPyDevを使用しています。私が作業しているコードを実行しようとすると、起動時間が非常に遅くなっていました。私はこれをライブラリのインポートに絞った。PyDevのインポート時間がコマンドラインを使用するよりも10倍遅い

たとえば私は、次のコードを実行した場合

import timeit 
startTime = timeit.default_timer() 

import numpy as np 
print("loaded numpy: ", timeit.default_timer() - startTime) 

import pandas as pd 
print("loaded pandas: ", timeit.default_timer() - startTime) 

from pandas import ExcelWriter 
print("loaded sub-pandas 1: ", timeit.default_timer() - startTime) 

from pandas import DataFrame 
print("loaded sub-pandas 2: ", timeit.default_timer() - startTime) 

import timeit 
print("loaded timeit: ", timeit.default_timer() - startTime) 

from sqlalchemy.sql.expression import false 
print("loaded sqlalchemy: ", timeit.default_timer() - startTime) 

import os 
print("loaded os: ", timeit.default_timer() - startTime) 

このうようにPyDevはのためのベンチマーク時間:コマンドライン実行して、それはなります

loaded numpy: 6.791420515378803 
    loaded pandas: 13.315319435084618 
    loaded sub-pandas 1: 13.31538835744522 
    loaded sub-pandas 2: 13.315418989605488 
    loaded timeit: 13.315443057731413 
    loaded sqlalchemy: 13.668371856921556 
    loaded os: 13.668398113058927 

ながら:

loaded numpy: 1.6967744335238362 
loaded pandas: 3.7941380255968165 
loaded sub-pandas 1: 3.7944563812624534 
loaded sub-pandas 2: 3.795081787867914 
loaded timeit: 3.795144146194173 
loaded sqlalchemy: 3.915562085554165 
loaded os: 3.915884087905548 

誰もがこれの底に到達することで助けることができますか?標準のライブラリをいくつかロードするためのコマンドラインオプション4sを使用したとしても、残酷であるようです。

ありがとうございました!

答えて

1

私の髪の毛を2日間裂いた後、問題は何らかの形でプロジェクトがどこにあるのかと関係していました。プロジェクトpyがローカルにある場合は高速に実行され、オフィスネットワーク上にある場合は処理が大幅に遅くなります。

anaconda 3.6のインストールはローカルにインストールされていることに注意してください。私たちのネットワークの待ち時間はそれほど悪くないことにも注意してください。だから私は、なぜこのような現象が起こるのかは不明です。

プロジェクトをCドライブに移動すると、許容可能な読み込み時間まで高速化されました。私は、ネットワーク上で何かを持つことはかなり遅くなることができると言うだろうし、大きさの順序が遅く、かなり正常なようだ(Pythonがオーバーロードのものを持っており、

loaded numpy: 0.14122337554736752 
loaded pandas: 0.5681306651263066 
loaded sub-pandas 1: 0.568159473943701 
loaded sub-pandas 2: 0.5681747900238348 
loaded timeit: 0.5681882827610955 
loaded sqlalchemy: 0.6529934184615654 
loaded os: 0.6530225919475344 
+0

:ここ

は、ローカルにある新しいプロジェクトの出力ですOSに依存して、いくつかのことがキャッシュされるかもしれませんが、ローカルにするのに比べてかなり遅いかもしれません...) - 理想的には、ローカルSSDを使用してください; –

+0

私にとって混乱しているのは、 AnacondaとPyDevがローカルにインストールされているかどうか。ネットワーク経由でのプロジェクトファイルの最初のオープン以外のネットワークトラフィックは期待できません。 – afora377

+0

実際には...実行されたすべてのインポートに対して、PythonはPYTHONPATHで使用可能なすべてのディレクトリを通過する可能性があります。そのうちの1つがリモートの場合、インポート時にネットワークにヒットします。 –

関連する問題