Python モジュールのインポートを高速化する方法に関する質問は、以前に尋ねられました (Python "インポート" ローダーとPython の高速化 -- インポートを高速化しますか? ) が、具体的な例がなく、受け入れられた解決策が得られていません。そのため、ここでもう一度問題を取り上げますが、今回は具体的な例を挙げて説明します。
ディスクから 3D 画像スタックをロードし、それを滑らかにし、ムービーとして表示する Python スクリプトがあります。データをすばやく表示したい場合は、システム コマンド プロンプトからこのスクリプトを呼び出します。これは MATLAB に匹敵するので、データを平滑化するのにかかる 700 ミリ秒で問題ありません。ただし、モジュールのインポートにはさらに 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 セッションから関数を呼び出すという明らかな解決策を 1 つ知っています。これは問題ありませんが、MATLAB に似すぎているため、システム プロンプトから関数を使用できるようにすることを好みます。
私はPythonが初めてで、この時点でどのように進めればよいかわかりません。私は新しいので、提案されたソリューションを実装する方法に関するリンクをいただければ幸いです。理想的には、複数の Mac および Linux マシン間でコードを移植できる必要があるため、単純なソリューションを探しています (私たち全員ではありません!)。