@Stepgor

Как определяется 'производительность' яп?

Я относительно новичку и у меня появился вопрос по поводу производительности яп. Допустим берём js и c#. Делаем в них цикл до миллиона и получаем, что c# тратит меньше времени на выполнение этого цикла, можно ли считать, что Шарп производительные? Если есть полезные статьи на эту тему, буду благодарен.
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 5
mahmudchon
@mahmudchon
Читайте сразу про assembler, не стоит тратить время на этих двоих.
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Как правило, производительность не меряется в абстрактном вакууме, в отрыве от задачи.
Пройдясь циклом в 1кк итераций без операций внутри - JIT вероятней всего вообще удалит этот цикл и данные вы получите ложные.
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
В вашем случае - он окажется производительней в синтетическом тесте, но в реальных условиях далеко не факт, что производительней окажется. Отталкиваться нужно от реальных задач и реальных данных, в разных случаях результаты могут значительно отличаться и однозначного "победителя" может и не быть (кроме ассемблера, конечно, т.к. он позволяет полный контроль над генерацией исполняемого кода, но с одной оговоркой - при условии, что автор программы умнее оптимизатора, встроенного в компилятор)
Ответ написан
Комментировать
GavriKos
@GavriKos
В случае конкретно этих двух - производительности ЯП нет. Есть производительность среды, которая выполняет код - JIT и вот это все. И они есть разные под эти языки.

Ели вы возьмете вообще Unity, в котором тоже сишарп - то там внезапно вы получите совсем другой результат - потому что от сишарпа там может ничего и не остаться. Это пример.
Ответ написан
Комментировать
Griboks
@Griboks Куратор тега C#
Обычно, используются бенчмарки - серии специальных тестов. В интернете есть их результаты, реализации для отдельных языков и даже алгоритмы конкретных тестов.

Например, если мы хотим посмотреть производительность графики, то можем нарисовать миллион летающих шариков и сравнить fps. Или сравнить оптимизацию через запуск специально подготовленного говнокода. Или найти первую 1000 простых чисел. Или провести векторные операции над большой последовательность данных. Или все вместе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы