Ржавчина Улучшает Трассировку


Rust 1.32 следует за выпуском Rust 2018 в декабре. Обновленная версия добавляет то, что разработчики описывают как “несколько улучшений качества жизни”, а также переключает распределитель по умолчанию и делает дополнительные функции постоянными.

Rust 2018 включил улучшения языка за последние три года, а также инструменты, документацию и новый веб-сайт. Последняя версия снова стала простым обновлением языка.

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

Улучшения, предназначенные для облегчения небольших вещей, начинаются с нового dbg! макрос, который облегчает печать значения переменной во время отладки, поэтому вы можете просто написать dbg! (varname) ; вместо того, чтобы писать println! ” {:?}”, varname);. Новая функция также показывает имя переменной, номер строки и имя файла, по которому был выполнен вызов. Вы также можете использовать значение, возвращаемое в выражениях.

Следующее изменение примечания относится к распределителю памяти. До сих пор Rust по умолчанию использовал jemalloc, оригинальный распределитель памяти с тех времен, когда у Rust была большая, похожая на Erlang среда выполнения. В тот момент Jemalloc имел смысл, потому что он часто улучшал производительность по сравнению с системным по умолчанию. Однако, начиная с Rust 1.28, разработчики смогли выбрать глобальный распределитель, и теперь по умолчанию используется системный распределитель. Вы все еще можете использовать Jemalloc, если это улучшит производительность вашей программы.

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


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