Несколько часов назад команда Erlang объявила об очередном релизе языка программирования и всей платформы.
Напомню, что Erlang/OTP предназначен для создания широко масштабируемых систем, работающих в режиме мягкого реального времени с требованиями высокой доступности. Платформа давно и успешно используется в таких сферах, как телекоммуникации, банки, электронная коммерция, телефония и мгновенная передача сообщений.
Основные изменения в этом релизе:
- Добавлен новый (экспериментальный) модуль
socket
, предоставляющий низкоуровневый доступ к сокетам ОС. Это не заменаgen_tcp
и другим и пока не работает на Windows (на микробенчмарке он показал прирост скорости в ~40% по сравнению сgen_tcp
). - Изменены стадии компиляции и внутренние представления компилятора для добавления новых оптимизаций (детальный обзор).
- Оптимизации сравнения с образцом (pattern matching) для бинарного типа данных теперь применяются в бóльшем количестве случаев.
- Большие сообщения в Erlang Distribution Protocol (отвечающего за передачу данных между узлами) теперь разбиваются на несколько фрагментов.
- Обращаю внимание на модули counters, atomics и persistent_term, добавленные в 21.2 и расширяющие набор иструментов для работы в конкурентной среде.
Также улучшения коснулись функции length/1
на длинных списках, ETS таблиц типа ordered_set
, NIF интерфейс получил функцию enif_term_type
, опций компилятора erlc
, версии SSL и функций модуля crypto
.
Запись в блоге с разбором изменений, примерами и бенчмарками