私はまだ、質問のような一見単純なことをテストおよびプロファイリングするためのツールを持っている (またはそれらを開発または使用する方法を知っている) レベルに達していないので、あなたに頼ります。
条件をチェックし、その条件に基づいて (異なるモジュール) で動作する最適な数学ツールを選択する関数がありますが、この関数は配列のウィンドウに適用されるため、ループされます。ウィンドウごとに異なるインポートが発生する可能性がありますが、インポートが実際にループされているのか、これがパフォーマンスの問題なのか疑問に思います。
これはmatplotlibソースからの例です
def pause(interval):
"""
Pause for *interval* seconds.
If there is an active figure it will be updated and displayed,
and the GUI event loop will run during the pause.
If there is no active figure, or if a non-interactive backend
is in use, this executes time.sleep(interval).
This can be used for crude animation. For more complex
animation, see :mod:`matplotlib.animation`.
This function is experimental; its behavior may be changed
or extended in a future release.
"""
backend = rcParams['backend']
if backend in _interactive_bk:
figManager = _pylab_helpers.Gcf.get_active()
if figManager is not None:
canvas = figManager.canvas
canvas.draw()
show(block=False)
canvas.start_event_loop(interval)
return
# No on-screen figure is active, so sleep() is all we need.
import time
time.sleep(interval)
ループ内の場合、開始と終了の数字が交互に繰り返されると、1 回おきにインポートされますか? それとも、インポートが最初に呼び出されたときにインポートされ、その後のインポートは無視されますか?
ありがとう