Подтвердить что ты не робот

Собственная производительность запуска Java

У меня есть программа, написанная на Java и встроенная программа запуска, написанная на С++, на основе образца в http://www.codeproject.com/Articles/17352/JVM-Launcher. Странно, что запуск моей программы с моей локальной пусковой установки занимает больше процессора, чем при использовании java.exe (~ 5% против 15-20%). Я размышлял об этой ситуации, но это все еще не имеет большого смысла. Я попытался увеличить размер кучи JVM, (re) создал встроенную пусковую установку в режиме выпуска, использовал другую версию JRE (1.6_24, 1.6_31, 1.7_03), но не повезло.

Есть ли у кого-нибудь предложение, как это исправить?

4b9b3361

Ответ 1

Примечание. Предоставление этого ответа для перемещения комментария OP для ответа.

Проблема заключалась в том, что программа на С++ запускала собственный пусковой механизм с параметром -Djava.compiler=NONE, который по существу задавал запуск JVM в режиме интерпретации, отключая компиляцию JIT (точно в момент времени) java-байт-кода в native кода, который, естественно, запускается медленнее, поскольку байт-код нужно интерпретировать каждый раз, когда он выполняется.