Pythonモジュールの読み込み速度を上げる方法は、以前に(Speeding up the python "import" loaderとPython -- Speed Up Imports?)尋ねられましたが、具体的な例はなく、受け入れられた解決策はありませんでした。私はここで再び問題を取り上げますが、今度は具体的な例を挙げます。Pythonモジュールのインポート速度を向上させる
私はディスクから3D画像スタックを読み込み、滑らかにしてムービーとして表示するPythonスクリプトを用意しています。データをすばやく表示するには、システムのコマンドプロンプトからこのスクリプトを呼び出します。これはMATLABに匹敵するので、データを円滑にするために必要な700ミリ秒でOKです。ただし、モジュールをインポートするにはさらに650ミリ秒かかります。したがって、ユーザーの観点から、Pythonコードは半分のスピードで実行されます。
これは私が輸入していたモジュールのシリーズです。もちろん
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import scipy.ndimage
import scipy.signal
import sys
import os
を、いないすべてのモジュールをインポートする均等に遅いです。主犯は以下のとおりです。
matplotlib.pyplot [300ms]
numpy [110ms]
scipy.signal [200ms]
私はfrom
を使って実験してきたが、これはどの速くはありません。 Matplotlibが主な原因であり、スクリーンの更新が遅いという評判があるので、私は代替案を探しました。 1つはPyQtGraphですが、インポートには550ミリ秒かかります。
私は、システムコマンドプロンプトではなく、インタラクティブなPythonセッションから私の関数を呼び出すことを明示しています。これは問題ありませんが、それもMATLABのようなものです。システムプロンプトから関数を使用できるという優雅さが好きです。
私はPythonには新しく、この時点でどのように進めるべきか分かりません。私は新しいので、提案されたソリューションを実装する方法についてのリンクを感謝します。理想的には、複数のMacとLinuxマシン間でコードを移植する必要があるため、私は単純な解決策を探しています(すべてではありません)。
チェック - それらのロードが少し速くなります。しかし、pycファイルが存在していても、これらの数字はかなり妥当です。 –
また、 'sys.path'に.eggディレクトリがたくさんある場合は、それぞれの内部のモジュールを探しますので、処理が遅くなります。配布パッケージマネージャーまたはピップを使用して、より適切なレイアウトでインストールします。あなたは、しかし、大きなスピードを得ることはほとんどありません。 –
私は以前の質問でpycの提案に気がつきましたが、私はモジュールのpycのバージョンを探すべきか分かりません。今、私はMacにいる。 – RAAC