ネイティブとの速度差の議論は、jvmではjitコンパイルを導入してc++にある程度追いつき、次にllvmのようなネイティブで利用可能なリソースに最適化したスマート・コンパイルがなされて、
今のjvm技術ではc++とほぼ同等、再コンパイルしてない古いc++プログラムなら追い越してるって聞いてますよ。