>「Javaは普通にやったらC++に速度で負けます」って

普通にやらなきゃ良いんじゃない?
例えば、オブジェクトをプールしといて使いまわせばJITのコンパイル時間
無くなるし、アプリの起動時にわざとプリロードさせてJIT側でネイティブに
コンパイルさせるとか(.NETだったら別の方法あるけど)、あるいは
Javaのスレッドは実際にマルチコアに割り当てられるからコードを始めから
マルチスレッド化しとく、とか。