Scala 2.13 выпущен с улучшенной производительностью компилятора и многим другим


Согласно официальному обновлению, команда Scala объявила о выпуске новой версии - Scala 2.13, которая содержит обновленную стандартную библиотеку и ряд улучшений, включая более быстрый компилятор и многое другое.

Что такое Scala?

Если, вдруг, вы не знаете: Scala - это язык программирования высокого уровня, основанный на объектно-ориентированных и функциональных парадигмах программирования. Этот язык поставляется со статическими типами, которые помогают разработчикам избегать ошибок в сложных приложениях.

Scala 2.13 выпущен с улучшенной производительностью компилятора и многим другим

Новые функции и обновления в Scala 2.13

Улучшены стандартные библиотечные коллекции

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

  1. Новые коллекции

В Scala 2.13 коллекция Stream заменяется LazyList, которая не только оценивает элементы по порядку, но и только при необходимости.

Она поставляется с новой коллекцией mutable.CollisionProofHashMap, которая реализует изменяемые карты с использованием хеш- таблицы с red-black trees  в контейнерах. Также добавлена коллекция mutable.ArrayDeque, двусторонняя очередь, которая использует внутренний кольцевой буфер с изменяемым размером.

  1. Упрощенный метод подписи

В новой версии методы преобразования не могут принимать неявный параметр CanBuildFrom. Это приведет к тому, что код станет проще и понятнее.

  1. Простая иерархия типов

Пакет scala.collection.parallel теперь является частью стандартного модуля Scala. В Scala 2.13 этот модуль будет доступен в виде отдельного JAR-файла, который можно также удалить, если он не использует параллельные коллекции. Кроме того, Traversable и TraversableOnce теперь устарели.

Улучшенный параллелизм

Futures внутренне переработаны, чтобы обеспечить ожидаемое поведение при более широком наборе сбоев. Обновленные Futures также создадут основу для повышения производительности и надежности приложений.

Изменения в компиляторе

Компилятор значительно улучшился по сравнению с предыдущей версией. Теперь он может выполнять детерминистическую и воспроизводимую компиляцию. По сути, это означает, что обновленный компилятор Scala 2.13 теперь может генерировать идентичные выходные данные для идентичных входных данных в различных случаях.

В целом, операции с коллекциями и массивами теперь оптимизированы, что делает компилятор на 5-10% лучше, чем Scala 2.12.


0 комментариев
Сортировка:
Добавить комментарий