Производительность языков PHP, Node JS, Java, Swift, C, GO, C++, Rust

Все мы любим, когда сайт или приложение работают быстро. Скорость также влияет на доходы компании. Есть сайт, на котором проводят сравнение производительности языков программирования. К сожалению, там нету общей таблицы, которая агрегирует все тесты удобно. Я запарсил все данные и делюсь с вами! В данных 834 теста.

Описание каждого теста вконце статьи 
Описание каждого теста вконце статьи 

Ну, достаточно очевидно получилось, что PHP всем проиграл, а Rust всех обошел. Но давайте посмотрим на конкуренцию близких языков в контексте их бизнес-задач.

Простые приложения и сайты — PHP, Node JSNode

JS значительно обошел PHP. Наверно, тут даже нечего обсуждать. Чаще всего решения именно на WordPress, Bitrix, Joomla, Drupal тормозят и уступают в производительности.

Высоконагруженные системы — Java, Swift, Go

В этой группе Go обошел всех остальных, за исключением одного теста. Go был разработан в Google как раз для замены языков в бэкенд-части, и он имеет множество удобных плюшек для многопоточных систем.

Системные близкие к железу — C, C++, Rust

В этой группе всех обошел Rust. Стоит отметить, что в фреймворках часто используются компоненты, написанные на этих языках.

Описание тестов

Это наборы бенчмарков, или тестовых заданий, которые часто используются для измерения производительности и сравнения различных языков программирования или реализаций алгоритмов. Вот их краткое описание:

binarytrees: Этот тест измеряет производительность создания бинарных деревьев и управления ими. Задача заключается в создании и последующем удалении узлов бинарного дерева.

fannkuchredux: Этот тест оценивает производительность вычисления «перестановок» и нахождения максимальной «обратной длины» для них. Он использует алгоритм обратного перебора для решения этой задачи.

fasta: Этот тест связан с генерацией последовательностей ДНК и их сравнением. Основная цель — измерить производительность строковых операций.

mandelbrot: Этот тест представляет собой вычисление множества Мандельброта, которое используется для создания изображений фракталов. Он проверяет производительность вычислений с плавающей запятой и графики.

nbody: Этот тест моделирует движение небесных тел в гравитационном поле. Он измеряет производительность вычислений в физических симуляциях.

spectralnorm: Этот тест оценивает производительность вычисления спектральной нормы матрицы. Он измеряет производительность линейной алгебры.

Другие интересные наши работы

77
Начать дискуссию