単純なコンパイルと実行はHelloWorld
Javaで約1秒かかります。コンパイルをバイパスするJavaインタープリタがありますか?
$ time javac HelloWorld.java
real 0m0.659s
user 0m1.203s <-- 1.2s
sys 0m0.113s
比較のため、Luaは約0.002秒で同じことができます。
いくつかの(確かに珍しい)アプリケーションでは、短時間実行される数千のJavaアプリケーションが動的に生成されるため、のコンパイル時には1秒で時間に変換されます。
*.class
ファイルにコンパイルをバイパスするJavaインタープリタがあるのでしょうか?
(私はGroovyのがあることを知っているが、それは、Javaの完全なスーパーセットではありません)
1秒が長すぎるようです。 JVM内でAPIとしてJavaコンパイラを使用することができ、実行中のJVMにすぐに結果のクラスをロードできます。 –
@MarkoTopolnik私はリアルタイムで0.7秒、ユーザーの時間で1.2秒を見ています(おそらくマルチスレッドのため)。あなたはコンパイラAPIを使ってそれを大幅に下回ることができますか? – MaxB
あなたは何をテストしていますか? 'javac'コマンドラインで? JVM内で使用する場合、コンパイルしているソースファイル以外のすべてがロードされている安定した "ホット"な設定ができると思います。コンパイル時間はミリ秒単位で指定する必要があります。 –