Прискорення компіляції Rust коду

Мова програмування Rust має дві сторони: блискавично швидкий код, але й неймовірно повільну компіляцію. Цей недолік дратує розробників і стає постійним предметом жартів.

Але є і хороша новина - команда Rust серйозно ставиться до проблеми й готується до випуску найбільшого на даний момент покращення компілятора.

Чим вражає компілятор Rust?

  • Чіткими повідомленнями про помилки: вони детально описують проблему, її місце й пропонують шляхи виправлення.

  • Додатковими флагами: "explain" та "verbose" дають ще більше інформації.

Що дратує розробників?

  • Тривалий час компіляції. Щоб гарантувати високу безпеку й продуктивність, компілятор Rust ретельно перевіряє код, що сповільнює процес, особливо для релізних збірок з максимальною оптимізацією.

Команда Rust не сидить склавши руки. Тому була створена спеціальна робоча група яка протягом 8 років втричі скоротила час компіляції, впровадивши інкрементальну компіляцію та паралелізацію бекенду мови Rust.

Нові значні покращення:

  • Паралелізація фронтенду за допомогою бібліотеки Rayon.

  • Експериментальна функція у ранніх версіях компілятора вдвічі скорочує час компіляції для деяких кодових баз.

Прискорену версію можна використовувати у ранніх версіях Rust з увікненими прапорцями:

RUSTFLAGS=”-Z threads=8” cargo +nightly build —release

Переваги кращих часів компіляції:

  • Підвищення продуктивності розробників.

  • Швидші ітераційні цикли.

  • Швидші збірки CI/CD.

Вихід у стабільній версії Rust очікується пізніше цього року.

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Crypto blogger
Crypto blogger@crypto_blogger

1.1KПрочитань
5Автори
8Читачі
Підтримати
На Друкарні з 24 лютого

Більше від автора

Вам також сподобається

  • Stride() у циклі for. Мова програмування Swift

    Знайшов чудову функцію stride(from: to:\through: by: ), яка робить цикл for більш зручним і гнучким у використанні. Також, розглянуто приклади використання функції.

    Теми цього довгочиту:

    Програмування
  • Чому я обрала React Native

    Після опублікування першого довгочиту, який я відкладала пару місяців, я зрозуміла, що треба підтримувати цей темп. Але одразу виникло питання: а що ж писати далі? Але потім подумала: можливо, саме мій погляд новачка і буде комусь корисним чи, принаймні, цікавим?

    Теми цього довгочиту:

    Мобільна Розробка

Коментарі (1)

Якось дуже коротко і без деталей. Сухо.

Вам також сподобається

  • Stride() у циклі for. Мова програмування Swift

    Знайшов чудову функцію stride(from: to:\through: by: ), яка робить цикл for більш зручним і гнучким у використанні. Також, розглянуто приклади використання функції.

    Теми цього довгочиту:

    Програмування
  • Чому я обрала React Native

    Після опублікування першого довгочиту, який я відкладала пару місяців, я зрозуміла, що треба підтримувати цей темп. Але одразу виникло питання: а що ж писати далі? Але потім подумала: можливо, саме мій погляд новачка і буде комусь корисним чи, принаймні, цікавим?

    Теми цього довгочиту:

    Мобільна Розробка