۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

قسمت جلویی کامپایلر Rust به صورت موازی اجرا می شود

بخش جلویی کامپایلر Rust اکنون می تواند از موازی سازی ریز دانه برای کاهش قابل توجه زمان کامپایل استفاده کند. در حال حاضر آزمایشی، قسمت جلویی موازی قرار است در یک کامپایلر پایدار در سال 2024 تولید شود.

بخش جلویی کامپایلر Rust اکنون می تواند از موازی سازی ریز دانه برای کاهش قابل توجه زمان کامپایل استفاده کند. در حال حاضر آزمایشی، قسمت جلویی موازی قرار است در یک کامپایلر پایدار در سال ۲۰۲۴ تولید شود.

طبق یک

در حال حاضر در مرحله آزمایشی، قسمت جلویی موازی قرار است با کامپایلر پایدار در سال آینده عرضه شود. توسعه دهندگان می توانند اکنون با اجرای کامپایلر شبانه با گزینه -Z threads=8 اجرای موازی را امتحان کنند. هنگامی که قسمت جلویی موازی در حالت چند رشته ای با -Z threads-8 اجرا می شود، اندازه گیری های روی کد “دنیای واقعی” نشان داده است که زمان کامپایل را می توان تا ۵۰٪ کاهش داد. افکت‌ها بر اساس ویژگی‌های کد و پیکربندی ساخت، بسیار متفاوت هستند.

Node.js 18 پشتیبانی OpenSSL را به روز می کند، واکشی API را فعال می کند

گروه کاری گفت که ساخت‌های توسعه احتمالاً شاهد پیشرفت‌های بزرگ‌تری نسبت به نسخه‌های انتشار خواهند بود، زیرا نسخه‌های انتشار معمولاً زمان بیشتری را صرف بهینه‌سازی در قسمت پشتی می‌کنند. علاوه بر این، تعداد کمی از موارد در حالت چند رشته ای کندتر از حالت تک رشته ای کامپایل می شوند، عمدتاً برنامه های کوچکی که قبلاً به سرعت کامپایل می شوند.

Ruby on Rails پشتیبانی Docker را گسترش می دهد

با توجه به اینکه زمان کامپایل یک “نگرانی همیشگی” است، گروه کاری گفت که عملکرد کامپایلر Rust طی چندین سال به طور مداوم بهبود یافته است. در این مرحله، کامپایلر به شدت بهینه شده است و بهبودهای جدید به سختی یافت می شود. این گروه با توصیف موازی‌سازی به‌عنوان «تکه‌ای از میوه‌های بزرگ اما آویزان بالا» گفت  قسمت جلویی از کتابخانه موازی‌سازی داده‌های Rayon استفاده می‌کند. برای تبدیل محاسبات متوالی به موازی. ریون از موازی سازی ریزدانه استفاده می کند.

گروه کاری استفاده از هشت رشته را برای اجرای موازی توصیه می کند. با این حال، استفاده از حافظه در حالت چند رشته ای به میزان قابل توجهی افزایش می یابد. این غیرقابل تعجب تلقی می شد زیرا بخش های مختلف کامپایل که هر کدام به مقدار مشخصی حافظه نیاز دارند، اکنون به صورت موازی اجرا می شوند. کار برای بهبود عملکرد قسمت جلویی موازی ادامه دارد.

نحوه بهبود عملکرد StringBuilder در سی شارپ

برنامه‌نویسانی که مشکلی در قسمت جلویی موازی پیدا می‌کنند باید مشکلات علامت‌گذاری شده با WG-compiler-parallel. مسائل جدید نیز قابل ثبت است. کامپایل Rust در حال حاضر از موازی سازی بین فرآیندی از طریق مدیر بسته Cargo و از موازی سازی درون فرآیندی در انتهای پشتی بهره می برد.