私はpydev+jython.great ideを使用していますが、jythonプログラムを実行しようとするとかなり遅くなります。これはおそらくライブラリのロード時間によるものです。
それをスピードアップするために私は何ができますか?
ありがとう、yaniv
Jython の起動時間が遅い...起動することがたくさんあります!
Jython スクリプトをゼロから実行するたびに、同じ Jython 起動時間コストが発生します。
したがって、Jython、Java、および Python が CGI の呼び出しに適していない理由はここにあります。したがって、Apache での mod_python の理由。
重要なのは、Jython を一度起動して再利用することです。ただし、モジュールは常に変更されており、Jython はこれらの変更を自動的に認識しないため、特に開発中は常に可能であるとは限りません。
Jython には、自動リロードのためにどのモジュールが変更されたかを知る方法が必要です。これは Jython に組み込まれていないため、他のサードパーティ ライブラリに依存する必要があります。概念は、変更されたモジュールを「sys.modules」から削除することです。簡単な解決策は、sys.modules からすべてのモジュールをクリアすることです。これにより、すべてのモジュールがリロードされます。これは明らかに、最も効率的なソリューションではありません。
もう 1 つのヒントは、モジュールが「本当に」必要なときにモジュールが必要とするモジュールのみをインポートすることです。モジュールの先頭にあるすべてのモジュールをインポートすると、モジュールのインポート コストが増加します。そのため、リファクタリングは、必要な場所と「意味のある」メソッド/関数内へのインポートを行います。もちろん、メソッド/関数が計算負荷が高く、頻繁に使用される場合、そのメソッド/関数内にモジュールをインポートしても意味がありません。
うまくいけば、それはあなたを助けます!
複数のプロセッサを搭載したマシンを使用している場合は、オプションを使用して eclipse/pydev を起動して-vmargs -XX:+UseParallelGC
みることができます。別の JVM を試して、パフォーマンスが向上するかどうかを確認することもできます。