Исполняемый файл работает медленнее, чем Eclipse - PullRequest
5 голосов
/ 03 апреля 2012

Моя программа прекрасно работает, когда я запускаю из eclipse, но я упаковываю ее в исполняемый файл jar и запускаю из командной строки, она работает намного медленнее (почти в пять раз медленнее).Я даже устанавливаю -vmargs при выполнении jar-java -Xms40m -Xmx512m -jar jarFile.jar У меня нет более старой версии java на моей машине.Я не могу понять, чего мне здесь не хватает.Как можно затмить запустить ту же программу быстрее, используя ту же версию Java и те же аргументы VM.Любая помощь будет оценена.

Спасибо, karthik

Ответы [ 2 ]

8 голосов
/ 07 июля 2015

У нас была похожая проблема, но проблема заключалась в том, что при экспорте кода Java как исполняемого файла JAR из Eclipse мы выбирали опцию «Пакет необходимых библиотек в сгенерированный файл JAR». Это помещало все библиотеки, на которые есть ссылки, как файлы jar в исполняемый файл jar, который, вероятно, распаковывался при каждом запуске. Вместо этого мы использовали опцию «Извлечь необходимые библиотеки в сгенерированный jar» при создании запускаемого jar-файла и увеличенной скорости выполнения jar - почти такой же, как при запуске кода в eclipse.

1 голос
/ 03 апреля 2012

Скорее всего, вы много печатаете в System.out / System.err (напрямую или через логирование).Эмулятор терминала Windows должен визуализировать ваш вывод, и он работает медленнее, чем Eclipse.

Попробуйте перенаправить весь вывод в файл или NUL и повторите измерение.

...