Выпуск языка программирования Rust 1.2, развиваемого проектом Mozilla: различия между версиями

[досмотренная версия][досмотренная версия]
Содержимое удалено Содержимое добавлено
м re-cat., replaced: |rust| → |Rust (язык программирования)‎|
орфография, оформление
 
Строка 1:
{{дата|8 августа 2015}}
{{тема|Компьютерные технологии}}
[[FileФайл:Wikinews-logo-ru.svg|thumb|left|300px]]
[http://blog.rust-lang.org/2015/08/06/Rust-1.2.html Состоялся] выпуск языка программирования [http://www.rust-lang.org Rust 1.2], развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo, [https://github.com/servo/servo/ написанный] на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).
 
В новой версии продолжена работа по оптимизации производительности, значительно ускорен процесс компиляции и представлены наработки по обеспечению распараллеливания сборки на многоядерных системах (добавлена опция "«-C codegen-units=число потоков"»). Например, сборка hyper теперь выполняется на 16 % быстрее, html5ever - — на 62 %, regex - — на 32 %, rust-encoding на 35 %. Генерация кода в параллельном режиме на четырёхядерномчетырёхъядерном компьютере даёт ускорение ещё на 33 %. Ограничением параллельного режима сборки является невозможность использования некоторых режимов оптимизации, что ограничивает его применение промежуточными и отладочными сборками.
 
Проведена значительная оптимизация производительности пакетного менеджера Cargo, например, время сборки пакета с движком Servo удалось сократить в 10 раз. В Cargo также добавлена поддержка совместно используемых целевых директорий, в которых кэшируются типовые для разных пакетов зависимости, что позволяет дополнительно существенно сократить время сборки сложных проектов.
 
В языке завершена реализация типов динамически изменяемого размера ( [http://smallcultfollowing.com/babysteps/blog/2014/01/05/dst-take-5/ DST], dynamically-sized type), позволяющих создавать указатели (Rc) на элементы массивов и объекты, динамически адаптирующиеся к изменениям в их структуре. Кроме сборки с применением инструментария GNU в Rust реализована возможность компиляции с использованием MSVC (Microsoft Visual C) и прямого связывания кода на языке Rust с кодом, собранным в MSVC.
 
{{-}}