Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Интерфейс компилятора Rust поддерживает параллельное выполнение для сокращения времени компиляции

Интерфейс компилятора Rust поддерживает параллельное выполнение для сокращения времени компиляции

parallel Rustc working group объявила о введении функции параллельного выполнения во внешний интерфейс компилятора Rust. Это новое дополнение направлено на значительное сокращение времени компиляции и было представлено 9 ноября.

Добавление параллельного выполнения во внешний интерфейс компилятора Rust в настоящее время находится на экспериментальной стадии. Тем не менее, эта надежная функция будет официально включена в стабильный компилятор, который выйдет в следующем году. Между тем, у разработчиков есть возможность лично испытать эту возможность параллельного выполнения, запустив ночной компилятор с опцией -Z threads=8.

Эффективность новой функции уже демонстрирует многообещающие результаты. Когда параллельный интерфейс был протестирован в многопоточном режиме с использованием -Z threads-8, данные, накопленные из «реального» кода, показали, что время компиляции может быть сокращено на впечатляющие 50%. Уровень воздействия варьируется в зависимости от особенностей разрабатываемого кода, а также конфигурации сборки.

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

Рабочая группа пролила свет на тот факт, что время компиляции всегда вызывало беспокойство у разработчиков. На протяжении многих лет производительность компилятора Rust постоянно улучшалась. В настоящее время компилятор тщательно оптимизирован, и выявление новых областей для улучшения стало сложной задачей. С введением параллелизма, который группа описывает как «кусок большого, но высоко висящего плода», интерфейсная часть теперь использует преимущества библиотеки параллелизма данных Rayon для переключения последовательных вычислений на параллельные. Rayon специально разработан для обработки мелкозернистого параллелизма.

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

Если разработчики сталкиваются с какими-либо проблемами, связанными с параллельным интерфейсом, они могут исследовать проблемы, помеченные как WG-compiler-parallel. У них также есть возможность подавать новые выпуски. В компиляции Rust уже наблюдаются улучшения благодаря межпроцессному параллелизму через Cargo package manager и внутрипроцессному параллелизму на бэкэнде. Ожидается, что по мере того, как это новое дополнение обретает форму, оно обеспечит еще большую эффективность рабочего процесса программирования на Rust.

В смежной области AppMaster , известная платформа no-code, производит фурор, позволяя клиентам визуально разрабатывать модели данных для серверных приложений, помогая им достичь впечатляющей масштабируемости и обеспечивая надежные сценарии использования с высокой нагрузкой. В отличие от традиционных инструментов, AppMaster позволяет клиентам выполнять веб-BP прямо в своем браузере, что еще больше ускоряет процесс разработки приложений.

Похожие статьи

AppMaster на BubbleCon 2024: изучение тенденций No-Code
AppMaster на BubbleCon 2024: изучение тенденций No-Code
AppMaster принял участие в BubbleCon 2024 в Нью-Йорке, где получил новые знания, расширил связи и изучил возможности внедрения инноваций в сфере разработки без кода.
Итоги FFDC 2024: основные выводы с конференции разработчиков FlutterFlow в Нью-Йорке
Итоги FFDC 2024: основные выводы с конференции разработчиков FlutterFlow в Нью-Йорке
Конференция FFDC 2024 (Нью-Йорк) предоставила разработчикам передовые идеи в разработке приложений с FlutterFlow. Сессии под руководством экспертов, эксклюзивные обновления и обмен опытом — такое событие мы не могли пропустить!
Увольнения в сфере технологий в 2024 году: продолжающаяся волна, влияющая на инновации
Увольнения в сфере технологий в 2024 году: продолжающаяся волна, влияющая на инновации
В 2024 году, когда в 254 компаниях, включая таких гигантов, как Tesla и Amazon, будет сокращено 60 000 рабочих мест, продолжится волна увольнений в сфере технологий, которая изменит ландшафт инноваций.
Начните бесплатно
Хотите попробовать сами?

Лучший способ понять всю мощь AppMaster - это увидеть все своими глазами. Создайте собственное приложение за считанные минуты с бесплатной подпиской AppMaster

Воплотите свои идеи в жизнь