21.02.2024

Сравнение эффективности 20 языков программирования

Опубликована вторая редакция проекта PLB (Programming Language Benchmark), нацеленного на тестирование производительности реализаций типовых приложений на различных языках программирования. В отличие от первой редакции, опубликованной в 2011 году, новый вариант оценивает производительность кода для умножения матриц, решения задачи расстановки 15-ферзей, поиск решений в игре Судоку и определение пересечений двух массивов. Код для тестирования был написан на 20 языках программирования.

Наиболее высокую производительность показала реализация тестовых приложений на языке Zig. На втором месте оказался язык Mojo, а на третьем — Nim. Четвёртное место разделили языки Си (при компиляции в clang) и V. На пятом месте оказался язык Crystal, на шестом — D, на седьмом Rust, а на восьмом Go. Очень неплохой результат оказался у Java, который лишь немного отстал от Go.

Относительно хорошие результаты также показали языки Dart и C#. Хорошие результаты у Java и C# объясняются использование отдельной стадии JIT-компиляции, в то время как в Dart, Bun, Node.js, Julia, LuaJIT, PHP, PyPy и Ruby3 с YJIT JIT-компиляция выполняется на лету и затрагивает только часто выполняемый код. JavaScript-платформа Bun заметно обогнала Node.js. Относительно медленными оказались результаты у Lua, Julia и Swift. Наихудшие показатели производительности продемнострировали PHP, Ruby, Perl и CPython.

Источник: https://www.opennet.ru/opennews/art.shtml?num=60384 Источник.