Знаете ли вы, что один и тот же код C ++ не создает один и тот же машинный код с разными компиляторами или разными версиями одного и того же компилятора? Некоторые компиляторы берут один и тот же исходный код и создают двоичный файл для той же цели, который значительно быстрее, чем другой компилятор. По тем же причинам другие языки, которые компилируются в машинный код, не будут выполнять то же самое. Некоторые языки легче компилировать / оптимизировать, чем другие. Такие языки, как Java, не сравниваются, поскольку они не компилируются с машинным кодом, они обычно компилируются в независимый от системы байт-код и затем запускаются на виртуальной машине jvm. jvm - это некоторый код на некотором языке, скомпилированный некоторым компилятором, который может быть быстрым или медленным в зависимости от выбранного кода и компилятора. интерпретируемые языки, такие как Java (байт-код), медленнее по сравнению с компилируемыми непосредственно в машинный код.
Потратьте некоторое время, чтобы научиться разбирать скомпилированные вами двоичные файлы. Читайте о наборе инструкций типа байт-кода позади p-кода java, python и т. Д., Который использовал pascal и т. Д., И т. Д.
Если вы говорите о компьютерах с архитектурой x86, то у вас огромная разница в производительности в этом семействе. Вы можете скомпилировать двоичный файл, который работает очень быстро относительно тактовой частоты на одном процессоре x86, но тот же самый двоичный файл работает очень медленно на другом процессоре, обычно более новый процессор с более высокой тактовой частотой запускает более старый двоичный файл медленнее. В мире x86 тщетно пытаться создать один двоичный файл, который будет работать везде, поэтому ваш компилятор, если требуется производительность, должен работать значительно усерднее, чтобы попытаться нацелить производительность на систему / процессор.
Ваш вопрос похож на вопрос: если у всех транспортных средств есть двигатель и четыре колеса, почему некоторые могут двигаться быстрее? Почему некоторые могут перевозить больше вещей, чем другие?