Самые медленные языки программирования с динамической типизацией

03.03.2021      34574

Скорость выполнения программы зависит не только от аппаратной части, но и от языка, на котором она написана. Однако, не все языки программирования могут похвастаться высокой скоростью выполнения кода. Расскажем о некоторых подробнее.

Типизация динамическая и статическая

Условно языки программирования делятся на статически и динамически типизированные.

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

Языки с динамической типизацией, такие как Ruby и JavaScript, меньше подвержены ошибкам и легко читаются, но за это часто приходится платить скоростью выполнения.

Perl

Perl – язык общего назначения, изначально разработанный для создания длинных Shell-скриптов. Он используется в системном администрировании, сетевом программировании и разработке графических интерфейсов.

Perl создан для облегчения задач, которые невозможны в C и других языках Unix, но скорость его выполнения оставляет желать лучшего. Построчная интерпретация, отсутствие динамического компилятора и медленное развитие языка делают Perl одним из самых медленных в своем классе.

PHP

По данным аналитического портала W3Techs, 79,0% всех веб-сайтов используют PHP.

PHP испытывает проблемы со скоростью выполнения из-за динамической типизациии и отсутствия JIT-компилятора.

26 ноября 2020 года релиз восьмой версии PHP вышел с функцией оптимизации производительности и встроенным JIT-компилятором.

Ruby

Ruby – это объектно-ориентированный язык. Ruby позволяет одновременно использовать глобальную блокировку интерпретатора (GIL) для обеспечения потокобезопасности только одному потоку, что еще больше снижает его скорость.

25 декабря 2020 года представлена версия Ruby 3.0.0 с повышенной производительностью компилятора Ruby MJIT. Начиная с Ruby 3.0, JIT улучшает производительность в ограниченных рабочих нагрузках, таких как игры, ИИ или другие приложения, которые тратят большую часть времени на многократный вызов нескольких методов.

Python

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

Однако, на данный момент скорость не является его сильной стороной. Python и Ruby во многом похожи. Проблемы со скоростью также вызваны глобальной блокировкой интерпретатора и построчным выполнением кода.

При этом многие Python библиотеки и функции реализованы на C++. Это дает некое увеличение в производительности.

Заключение

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


Автор:
Обозреватель


См. также

Новость ИТ-Новость

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    670    user1915669    0       

2

Новость ИТ-Новость

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    896    AnastasiaKl    0       

3

Новость ИТ-компания ИТ-Новость

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    945    user1915669    2       

2

Новость Искусственный интеллект ИТ-Новость

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    600    user1915669    0       

2

Новость Дата-центры Искусственный интеллект ИТ-Новость

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    720    AnastasiaKl    0       

1

Новость ИТ-Новость

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    801    user1915669    0       

1

Новость Законодательство ИТ-Новость

Депутаты Госдумы работают над законопроектом по ужесточению контроля за электросамокатами. Среди мер: обязательная регистрация СИМ (средств индивидуальной мобильности) и разработка системы отслеживания их перемещений.

10.07.2024    769    AnastasiaKl    2       

1

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    1647    AnastasiaKl    3       

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Филин 370 03.03.21 16:32 Сейчас в теме
Простите, о чем статья-то? О том, что в интерпретируемые языки еще с 00-х прикручивают JIT для ускорения выполнения?

Ну и если статья про "самые медленные языки", то где хоть какое-нибудь сравнение скорости выполнения? Если Питон и Руби - "самые медленные", получается, что Lua или ABAP - быстрее, так что ли?
Darklight; awk; +2 Ответить
2. SerVer1C 815 03.03.21 16:51 Сейчас в теме
Почему в этом рейтинге нет 1С ???
Darklight; zqzq; Quasar; Areal; +4 Ответить
3. A1WEB 59 05.03.21 13:05 Сейчас в теме
Ну на самом деле, ни один из выше перечисленных языков не используют интерпретатор, который "выполняет код строка за строкой". Все уже очень давно, а большинство - изначально, используют интерпретатор компилирующего типа.
Darklight; +1 Ответить
Оставьте свое сообщение