0
jediオートコンプリートライブラリを使用して、Script.completions()
を呼び出すたびに連続した呼び出しが遅くなることがわかりました。Pythonのjediオートコンプリートが次第に遅くなります
次のコードでは、run
の機能を3回繰り返します。それはなぜ私には分かりませんが、それぞれが以前よりも時間がかかります。
import jedi
import time
def measure(source):
start = time.time()
script = jedi.Script(source, line=1, column=0)
script.completions()
print(' %-20s%f' % (source, time.time() - start))
def run():
start = time.time()
measure('min(1,2)')
measure('max(1,2)')
measure('print("Hello")')
measure('abs(1)')
measure('set()')
measure('dict()')
print('Total: %f' % (time.time() - start))
run()
run()
run()
結果:
min(1,2) 0.016168
max(1,2) 0.014470
print("Hello") 0.016843
abs(1) 0.019889
set() 0.023725
dict() 0.025874
Total: 0.117067
min(1,2) 0.029772
max(1,2) 0.034207
print("Hello") 0.034982
abs(1) 0.038538
set() 0.041346
dict() 0.054610
Total: 0.233565
min(1,2) 0.047249
max(1,2) 0.050380
print("Hello") 0.053113
abs(1) 0.056774
set() 0.059072
dict() 0.062129
Total: 0.328825
これが起こって、何私はそれを防ぐために行うことができますされる可能性があります理由について何かアドバイスをありがとうございました。
マスターブランチを試しましたか?私たちは、あなたと非常によく似たいくつかの問題を修正しました。また、これはおそらくジェダイの課題トラッカーの一部であるべきです。 –
ありがとうございます。あなたが提案したようにマスターからインストールしましたが、今問題はありません。私はjedi-0.9.0を使用していましたが、現在のバージョンはpypiです。おそらく、減速の原因となっていたものはすでに修正されています。 – tenuej