2016-08-18 4 views
0

ユーザのコードを数回コンパイルして実行する必要があります(ビジネスロジック)。 Hello worldの場合、コンパイルと実行には2〜3秒かかります。コンパイルして実行するJavaコードをより高速にする方法はありますか?ご覧のとおり、Hello worldです。Ubuntu 14.04 DockerでJVMを最適化する

コンパイルするコードでは、彼は非常に短くなります(最大行数は200を超えてはならず、1つのファイル内に1-2個のプライベートクラスがあります)。出力とエラーを私はUbuntu 14.04でDockerコンテナ内のJavaを使用していますが、これはプログラミングのスキルをテストするためのものです。このコードをコンパイルして実行するためにJVMが必要でした。どのようにすれば実現できますか?

+0

はい。がある。この質問には、特定の答えを提供するのに十分な詳細がありません。 –

+0

@BoristheSpiderあなたは正しいと思います。ちょうど編集。 – Aleksandar

+0

たとえば、[ライブJVM内から](http://stackoverflow.com/a/2946402/2071828)をコンパイルして実行すると、JVMのスピンアップコストが大幅に削減され、JITは最適化を継続的に維持できるようになります。それがオプションでない場合、実験的な[コンパイルサーバー](https://stackoverflow.com/questions/26424759/what-is-sjavac-who-is-it-for-and-how-do-use -it)少なくともコンパイルコストを削減するのに役立ちます。 –

答えて

0

実行しようとしているコードがREPLであれば簡単ですが、Java 9にはJShellというコードが1つ含まれています。彼女のパイプ入力を入力するか、API(jdk.jshell)を使用してください。

+0

自分のコードを(たとえば)バブルソートやそれに類するサイズのコード(2〜3倍のバブルソート)と考えてください。それは簡単ですか?もう一つは、私のコードが* my *サーバー上で実行される必要があります。 – Aleksandar

+0

なぜそれを試してみませんか? – the8472