Я не знаю, есть ли прямой ответ на этот вопрос. Я имею спецификации различных типов CPU. Например, два экземпляра: A и B. Я хочу запустить какое-то простое консольное приложение java в A и B. Исходя из их спецификаций, могу ли я предположить время выполнения B, зная время выполнения на A?
Вы можете оценить его, посмотрев на относительную производительность с помощью теста, такого как PassMark. Однако вы можете видеть случаи, когда система, которая должна быть быстрее, на самом деле медленнее. Это очень приблизительная оценка.
Вторые вопросы касаются основных номеров. Итак, могу ли я предположить время выполнения машины с i ядрами, зная результат на той же машине с j ядрами?
Это маловероятно, что вы говорите, что у вас удвоено количество ядер, вы получите вдвое больше производительности.
- Ваше приложение не может масштабироваться по количеству ядер, так как ваше узкое место может быть другим ресурсом, например. сети или диска, или ваша программа имеет слишком много последовательного кодирования.
- Когда у вас больше ядер, скорость этих сердечников имеет тенденцию быть медленнее на устойчивой основе, потому что сокеты могут производить столько тепла.
Есть ли какие-то приближения? Я имею в виду экземпляры Amazon EMR.
Если вы говорите о виртуальных машинах вместо реальных машин, оценить их еще сложнее. Вы можете обнаружить, что две виртуальные машины с одинаковой спецификацией не работают одинаково. например поскольку ваше приложение может работать на разных компьютерах в разное время, вы можете обнаружить, что его производительность меняется, хотя машина должна иметь одинаковую спецификацию.