Производительность C++ и Java при повторяющихся вычисленияхJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Производительность C++ и Java при повторяющихся вычислениях

Сообщение Anonymous »

Возможно ли, что при повторяющихся вычислениях Java превосходит C++ по производительности на порядок? Мой проект с открытым исходным кодом является таким эталоном: https://github.com/Chengpu0707/VarianceArithmetic:
Изображение

На рисунке выше я сравнил время выполнения БПФ для входных данных размером $2^{order}$. Как и ожидалось, время выполнения увеличивается экспоненциально как $~2^{order}$.
Проект C++ компилируется с использованием -O3. Тем не менее, он на порядок медленнее, чем Java, когда порядок БПФ больше 10. Я полностью удивлен этим результатом.
Некоторые другие технические подробности о моем компьютере:
  • Версия Java: версия Java «1.8.0_441»
  • Версия gcc: gcc.exe (Rev3, построена MSYS2) проект) 13.2.0
  • ЦП: Intel(R) Core(TM) i7-1255U 12-го поколения (1,70 ГГц)
  • ОЗУ: 16,0 ГБ (используется 15,7 ГБ)
  • На рисунке показаны средние значения для 72 запусков в каждом Порядок БПФ. Когда порядок БПФ больше 10, отклонение выполнения намного меньше соответствующего среднего значения выполнения.
  • Код не предназначен для оптимизации ни для одного языка программирования.
  • Пожалуйста, ознакомьтесь с README, чтобы узнать, как запускать каждый из них.
Показывает ли это, что оптимизация JIT-компилятора Java превосходит оптимизацию JIT-компилятора Java? Статическая оптимизация C++ при повторяющихся вычислениях?

Подробнее здесь: https://stackoverflow.com/questions/798 ... omputation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»