SymPy をインポートして使用しようとしているときに、VS2010 内の IronPython でいくつかのパフォーマンスの問題が発生しています。
次のコードを含む IronPython テスト プロジェクトがあります。
import time
print 'StandaloneIronPython'
startTime = time.time()
from sympy import *
importTime = time.time() - startTime
print 'Import time = %f' % importTime
startTime = time.time()
for x in (x/10.0 for x in xrange(-100,100)):
(x**2-2*x)
numericsTime = time.time() - startTime
print 'Basic numerics time= %f' % numericsTime
startTime = time.time()
for x in (x/10.0 for x in xrange(-100,100)):
N(x**2-2*x)
sympyTime = time.time() - startTime
print 'SymPy time = %f' % sympyTime
raw_input('Press enter to continue...')
SymPyは卵としてダウンロードおよびインストールされました。私の「IronPython 2.7\Lib\site-packages」フォルダーは、プロジェクトの検索パスにあります。
「Debug > Start Debugging」でプログラムを実行すると、おおよそ次のようになります。
StandaloneIronPython
Import time = 12.090019
Basic numerics time= 0.015594
SymPy time = 2.230804
Press enter to continue...
ただし、「デバッグ>デバッグなしで開始」を介してプログラムを実行すると、おおよそ次のようになります。
StandaloneIronPython
Import time = 2.199600
Basic numerics time= 0.015602
SymPy time = 0.140404
Press enter to continue...
インポートの速度が最大 5 倍になり、sympy の実行速度が 10 倍を超えます。
では、ライブラリ コードのデバッグにすべての時間を費やしている場合、IronPython から優れたパフォーマンスを得るにはどうすればよいでしょうか?
- SymPy をライブラリ、アセンブリ、またはすばやく実行できるものとしてバンドルする方法はありますか?
- SymPy のコードをデバッグしないように VS2010 に指示する方法はありますか?
- 他の種類の解決策はありますか?