2011-06-28 14 views
3

私は、Java MEの電話よりもJava SEの方が約300倍遅いプログラムを持っています。シンプルなベンチマークでは、メソッドを手動でインライン化すると電話のパフォーマンスが約2倍になり、手動で一般的な式を削除すると、パフォーマンスは約2倍になります。明らかに、Java MEの実装は最適化を行いません。Javaバイトコードを最適化しますか?

Javaソースコードを取得し、最適化されたJavaバイトコードを生成するコンパイラはありますか(メソッドのインライン展開、定数値の伝播、共通式の削除、およびその他の一般的な最適化を使用)コンパイル後にクラスファイルをこのように最適化する他のツールはありますか?

答えて

4

バイトコードobfuscatorsは、しばしばその種の機能を提供します。

この理由は、難読化ツールがJava MEのような制限付き環境で使用されることが多いためです。これは主に、コードのコンパイルを難しくすることではなく、コンパイルされたクラスファイルのサイズを縮小し、実行のスピードを上げる可能性があるためです。

無料のソフトウェアであり、some optimizationsをサポートするProGuardを試してください。

関連する問題