Кто-нибудь сравнивал Excelsior JET с компиляцией с обычным временем выполнения Java?

Кто-нибудь когда-либо пытался сопоставить Java-приложение, скомпилированное с native, используя Excelsior JET для того же приложения, работающего точно вовремя в обычной среде Java? Единственный ориентир, который я могу найти, размещен на веб-сайте Excelsior и предназначен для одного приложения; Я бы хотел увидеть некоторые независимые результаты.

Мое приложение имеет как высокую загрузку процессора, так и памяти (это модели обучения обучающих машин). Я не ожидаю увеличения производительности при использовании Jet, но мне может потребоваться запустить среду, в которой нет доступной Java-среды (отсюда и компиляция для native), и мне нужно знать, будет ли производительность намного хуже.

Я знаю, что у Excelsior есть оценка. доступный, но я надеюсь сохранить время загрузки, настройки, тестирования и т.д.

Ответ 1

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я работаю в Excelsior.

Чтобы ответить на ваш вопрос, самые последние результаты сравнительного тестирования сторонних производителей, о которых я знаю, эти, но Я только что проверил - эта должность старше четырех лет...

Теперь, если вы позволите мне дать несколько советов:

Основываясь на более чем 13-летнем опыте рынка Excelsior JET, я могу сказать вам, что вы должны протестировать его против своего конкретного приложения. Никакой бенчмарк не даст вам представления о том, как ваше приложение будет вести себя при составлении изначально. Как мы говорим, ваш пробег будет отличаться. У нас есть клиенты, сообщающие об увеличении скорости, которых мы никогда не видели в нашей лаборатории, и у нас есть перспективы отказаться от их оценки раньше, потому что их приложения становятся намного медленнее. (Последнее часто происходит из-за неправильной конфигурации - например, не все классы предварительно скомпилированы - поэтому, пожалуйста, свяжитесь с нашими инженерами, если вы столкнетесь с чем-то подобным.)

Есть также некоторые тематические исследования с сопоставлениями производительности на нашем веб-сайте (# 1, # 2), но, конечно же, это пользователи, чьи приложения стали быстрее.;)

Обновление 15-Dec-2014: Предупреждение: по сравнению с версией Excelsior JET 10, 64-битная версия отстает от 32-битной с точки зрения производительности, поскольку первая основанный на новом, построенном из ядра компилятора нуля, который имеет меньше оптимизаций. Мы прилагаем все усилия на изменение этой ситуации, но сейчас, если производительность важна для вас, и вы не имеете действительно веские причины, чтобы использовать 64-разрядную версию, например, больших кучах или необходимости интеграции с 64- родные библиотеки или необходимость настроить таргетинг на ОС X, придерживаться проверенной и правдивой 32-разрядной версии.

Ответ 2

Я использую Excelsior JET для бесплатной игры. В моих тестах игра не запускается быстрее или медленнее, но частота кадров более согласована с Excelsior JET, чем с Oracle VM. Запуск нашей игры намного лучше с JET. JVM занимает некоторое время, чтобы разогревать и загружать все классы, но с запуском JET.

Потребление памяти может быть немного выше при использовании Excelsior JET, если вы используете много потоков, потому что по умолчанию Excelsior JET использует большие фиксированные размеры стека потоков. Но это можно настроить - так что это не проблема.

Поддержка по электронной почте тоже очень хорошая. Вы разговариваете с инженерами, а не с персоналом. Если вам действительно удастся найти ошибку, исправление, как правило, всего за один день. Я также хотел бы отметить, что у меня были некоторые странные невоспроизводимые отчеты о сбоях от пользователей с более ранними версиями JET ( > 2 или более лет). Текущие выпуски (7,6, а теперь и 8,0) являются прочными. Мы не видим сбоев на десятитысячных машинах.

В двух словах: я могу рекомендовать Excelsior JET, производительность (в нашем случае) так же хороша, как и JVM.

Ответ 3

Я только что установил оценочную версию 64-разрядного Excelsior Jet 11, включая Maintenance Pack 3, чтобы узнать, достигает ли мой пользовательский шахматный движок, который я написал в Java, любой производительности (elo-score +/- 2100). К сожалению, этого не происходит, его скорость почти вдвое (450 тыс. Узлов в секунду вместо 1 м на Intel Q9550). Я предполагаю, что это результат 64-разрядной версии Excelsior, которая не оптимизирована.

Мой шахматный движок использует биты (64-битные длины) в качестве представления своей шахматной доски и выполняет множество поразрядных операций. Кроме того, он выполняет множество поисков массивов.

Потребление памяти примерно одинаковое.