2013-04-10 2 views
2

Я недавно сравнивал платформы JVM и CLR и обсуждал влияние компиляции JIT. Дискуссия, которую я провел, привела к способности .NET прекомпилировать код с помощью инструмента NGen, что избавило бы от необходимости компиляции JIT. Есть ли эквивалент на платформе Java?Есть ли прекомпилятор для JVM, как NGen?

+0

Я не знаю ни лично (вы можете посмотрите на такие параметры, как launch4j, jexe и т. д., они просто обертки, а не как NGen), и я не уверен, насколько это возможно ... Ответ на этот вопрос затрагивает некоторые детали, касающиеся компиляции на родной код: http://stackoverflow.com/questions/2506969/what- are-the-difference-in-jit-between-java-and-net – Crollster

ответ

1

Я лично ничего не знаю (вы можете посмотреть такие параметры, как launch4j, jexe и т. Д., Они просто обертки, а не как NGen), и я не уверен, насколько это возможно ... Ответ на этот вопрос посвящен некоторым деталям по компиляции в собственный код: Differences in JIT between Java and .Net

3

Собственный компилятор, о котором я больше всего слышал, - это Excelsior JET - виртуальная машина Java и собственный компилятор. См. http://www.excelsior-usa.com/jet.html для более подробной информации. В принципе, вы можете превратить свой проект в один исполняемый файл без суеты обычной Java-упаковки.

Они давно существуют (они здесь, когда я присоединился к рядам Java в 2001 году, и они здесь сейчас. Я только что услышал неделю назад, как компания использует свое решение и довольны этим.

О пару лет назад на JavaOne я встретил разработчик или два продукта, и они сказали мне, что они живут и ногами и хорошо.

+0

Я выполнил бенчмаркинг производительности на Excelsior JET. Скомпилированный родной код значительно медленнее, чем когда-либо, созданный Oracle JIT, в моих тестах он был на 2 раза медленнее. Еще до того, как JIT оптимизировал код, он был еще медленнее. –

Смежные вопросы