Еще Одно Сравнение Производительности C++ И C#.

Вдохновлен Вот этот статья.

Существует три мнения относительно производительности C++ и C#.

Те, кто знает (или думает, что знает) C++, считают, что C++ во много раз или даже на порядки быстрее.

Те, кто знает C++ и C#, знают, что для обычных задач производительность C++ не нужна, а там, где она нужна, код C# можно оптимизировать до невозможности.

Верхний предел оптимизации для C++ выше, чем для C#, но такие записи никому не нужны.

Те, кто знает только C#, никогда не испытывали проблем с его производительностью.

Люди из первой категории всегда пытаются доказать свою правоту.

При этом приведены примеры оптимизированного кода на C++ и максимально пессимизированного кода на C#.



Пример «типичного» сравнения



Еще одно сравнение производительности C++ и C#.
</p><p>

Любой программист, знающий C#, сразу увидит две ошибки:
Вызовите GC.Collect, который отменяет любые оптимизации, сделанные во время выполнения для сбора мусора.

Использование цикла for, который не гарантирует исключения проверок границ при каждом доступе к массиву.

Однако на самом деле ни один C#-программист не будет писать код с помощью GC.Collect, а очень малая часть программистов допустит ошибку в цикле for. Какой смысл сравнивать гарантированно неэффективный код C# даже с обычным кодом C++? Просто чтобы доказать свою точку зрения.



Честное сравнение

Чтобы сравнивать языки честно, нужно сравнивать стандартный код на обоих языках.

То есть такой код, который можно встретить в программах с вероятностью большей статистической погрешности.

Например, я буду использовать тот же пузырьковый вид массива.



Тесты для C++

В случае C++ я протестирую три варианта: Массив в стиле C (указатель) станд::массив станд::вектор Каждый тест будет запускаться 100 раз, а результат будет усреднен.

Код измерения

   

std::chrono::high_resolution_clock::duration measure(std::function<void()> f, int n = 100) {

Теги: #c++ #C++ #анализ производительности #разработка веб-сайтов #C++ #C++
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.