بخش جلویی کامپایلر Rust اکنون می تواند از موازی سازی ریز دانه برای کاهش قابل توجه زمان کامپایل استفاده کند. در حال حاضر آزمایشی، قسمت جلویی موازی قرار است در یک کامپایلر پایدار در سال ۲۰۲۴ تولید شود.
در حال حاضر در مرحله آزمایشی، قسمت جلویی موازی قرار است با کامپایلر پایدار در سال آینده عرضه شود. توسعه دهندگان می توانند اکنون با اجرای کامپایلر شبانه با گزینه -Z threads=8
اجرای موازی را امتحان کنند. هنگامی که قسمت جلویی موازی در حالت چند رشته ای با -Z threads-8
اجرا می شود، اندازه گیری های روی کد “دنیای واقعی” نشان داده است که زمان کامپایل را می توان تا ۵۰٪ کاهش داد. افکتها بر اساس ویژگیهای کد و پیکربندی ساخت، بسیار متفاوت هستند.
گروه کاری گفت که ساختهای توسعه احتمالاً شاهد پیشرفتهای بزرگتری نسبت به نسخههای انتشار خواهند بود، زیرا نسخههای انتشار معمولاً زمان بیشتری را صرف بهینهسازی در قسمت پشتی میکنند. علاوه بر این، تعداد کمی از موارد در حالت چند رشته ای کندتر از حالت تک رشته ای کامپایل می شوند، عمدتاً برنامه های کوچکی که قبلاً به سرعت کامپایل می شوند.
با توجه به اینکه زمان کامپایل یک “نگرانی همیشگی” است، گروه کاری گفت که عملکرد کامپایلر Rust طی چندین سال به طور مداوم بهبود یافته است. در این مرحله، کامپایلر به شدت بهینه شده است و بهبودهای جدید به سختی یافت می شود. این گروه با توصیف موازیسازی بهعنوان «تکهای از میوههای بزرگ اما آویزان بالا» گفت قسمت جلویی از کتابخانه موازیسازی دادههای Rayon استفاده میکند. برای تبدیل محاسبات متوالی به موازی. ریون از موازی سازی ریزدانه استفاده می کند.
گروه کاری استفاده از هشت رشته را برای اجرای موازی توصیه می کند. با این حال، استفاده از حافظه در حالت چند رشته ای به میزان قابل توجهی افزایش می یابد. این غیرقابل تعجب تلقی می شد زیرا بخش های مختلف کامپایل که هر کدام به مقدار مشخصی حافظه نیاز دارند، اکنون به صورت موازی اجرا می شوند. کار برای بهبود عملکرد قسمت جلویی موازی ادامه دارد.
برنامهنویسانی که مشکلی در قسمت جلویی موازی پیدا میکنند باید مشکلات علامتگذاری شده با WG-compiler-parallel. مسائل جدید نیز قابل ثبت است. کامپایل Rust در حال حاضر از موازی سازی بین فرآیندی از طریق مدیر بسته Cargo و از موازی سازی درون فرآیندی در انتهای پشتی بهره می برد.
پست های مرتبط
قسمت جلویی کامپایلر Rust به صورت موازی اجرا می شود
قسمت جلویی کامپایلر Rust به صورت موازی اجرا می شود
قسمت جلویی کامپایلر Rust به صورت موازی اجرا می شود