2023幎11月15日·1分で読めたす

Rust コンパむラ フロント゚ンドは䞊列実行を採甚し、コンパむル時間を短瞮したす

Rust コンパむラ フロント゚ンドは、コンパむル時間を倧幅に短瞮するこずを玄束する䞊列実行を導入したす。

Rust コンパむラ フロント゚ンドは䞊列実行を採甚し、コンパむル時間を短瞮したす

゚キサむティングな開発ずしお、 parallel Rustc working group 、Rust コンパむラのフロント゚ンドに䞊列実行機胜を導入するこずを発衚したした。この新しい远加機胜はコンパむル時間を倧幅に短瞮するこずを目的ずしおおり、11 月 9 日に発衚されたした。

Rust コンパむラ フロント゚ンドぞの䞊列実行の远加は、珟圚実隓段階にありたす。ただし、この堅牢な機胜は来幎の安定版コンパむラに正匏に組み蟌たれる予定です。䞀方、開発者は、-Z thread=8 オプションを指定しお倜間コンパむラを実行するこずで、この䞊列実行機胜を盎接䜓隓する機䌚がありたす。

この新機胜の有効性はすでに有望な結果を瀺しおいたす。 -Z スレッド -8 を利甚したマルチスレッド モヌドで䞊列フロント ゚ンドをテストしたずころ、「珟実の」コヌドから蓄積されたデヌタにより、コンパむル時間が 50% も短瞮できるこずが明らかになりたした。圱響のレベルは、開発䞭のコヌドの明確な性質やビルド構成に応じお異なりたす。

䜜業グルヌプは、開発ビルドにはリリヌス ビルドよりも倧幅な機胜匷化が加えられる可胜性があるこずを明らかにしたした。その理由は、リリヌス ビルドでは通垞、バック゚ンドの最適化に重点が眮かれ、より倚くの時間がかかるためです。さらに、最小限のシナリオでは、マルチスレッド モヌドではシングル スレッド モヌドに比べおコンパむルに少し時間がかかるこずがわかりたした。これらのケヌスには通垞、すでにコンパむルが容易な小芏暡なプログラムが含たれたす。

䜜業グルヌプは、コンパむル時間が開発者にずっお垞に懞念事項であるずいう事実に光を圓おたした。長幎にわたり、Rust のコンパむラのパフォヌマンスは継続的な匷化の察象ずなっおきたした。珟圚、コンパむラは培底的に最適化されおおり、新たな改善領域を特定するのは困難な䜜業ずなっおいたす。同グルヌプが「倧芏暡だが困難が䌎う成果」ず衚珟する䞊列凊理の導入により、フロント゚ンドは Rayon デヌタ䞊列凊理ラむブラリを利甚しお、逐次蚈算を䞊列蚈算に切り替えるようになりたした。レヌペンは、きめの现かい平行床を凊理できるように特別に蚭蚈されおいたす。

䜜業グルヌプは、最良の結果を埗るために 8 ぀のスレッドを䜿甚しお䞊列実行するこずを掚奚しおいたす。ただし、マルチスレッド モヌドではメモリ䜿甚量が倧幅に増加する可胜性があるずも述べおいたす。それぞれ䞀定量のメモリを必芁ずするコンパむルのさたざたな郚分が䞊列実行されるため、これは予想どおりでした。このグルヌプは、䞊列フロント゚ンドのパフォヌマンスを向䞊させるための取り組みが確実に行われるようにしたす。

開発者が䞊列フロント ゚ンドに関連する問題に遭遇した堎合は、WG-compiler-Parallel ずいうラベルが付いた問題を調査できたす。新しい問題を提出するオプションもありたす。 Rust のコンパむルは、 Cargo package managerによるプロセス間䞊列凊理ずバック゚ンドでのプロセス内䞊列凊理のおかげで、すでに進歩しおいたす。この新しい远加が具䜓化されるに぀れお、Rust プログラミング ワヌクフロヌの効率がさらに向䞊するこずが期埅されたす。

関連分野である AppMaster は、顧客がno-code゚ンド アプリケヌションのデヌタ モデルを芖芚的に考案できるようにするこずで話題を呌び、優れたスケヌラビリティを実珟し、確実な高負荷ナヌスケヌスを保蚌したす。埓来のツヌルずは異なり、 AppMaster䜿甚するず、顧客はブラりザ内で Web BP を盎接実行できるため、アプリケヌション開発プロセスがさらに前進したす。

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
Rust コンパむラ フロント゚ンドは䞊列実行を採甚し、コンパむル時間を短瞮したす | AppMaster