රස්ට් රාත්‍රී ගොඩනැගීම් සම්පාදනය සමාන්තර කිරීමේ හැකියාව පුළුල් කර ඇත

විග්‍රහ කිරීම, වර්ග පරීක්ෂා කිරීම සහ ණය ලබා ගැනීමේ විශ්ලේෂණය වැනි කාර්යයන් ඉටු කරන රස්ට් සම්පාදකයේ ඉදිරිපස කෙළවර සමාන්තර ක්‍රියාත්මක කිරීමට සහය වන අතර එමඟින් සම්පාදන කාලය සැලකිය යුතු ලෙස අඩු කළ හැකිය. සමාන්තරකරණය දැනටමත් රාත්‍රී රස්ට් ගොඩ නැගීම් වල පවතින අතර “-Z threads=8” විකල්පය භාවිතයෙන් සබල කර ඇත. සලකා බලනු ලබන අවස්ථාව 2024 දී ස්ථාවර ශාඛාවට ඇතුළත් කිරීමට සැලසුම් කර ඇත.

රස්ට් හි සම්පාදන කාලය අඩු කිරීමේ කටයුතු වසර ගණනාවක් තිස්සේ සිදු වෙමින් පවතී. 10 පළමු මාස ​​2023 තුළ, සම්පාදනය කිරීමේ කාලය සාමාන්‍යයෙන් 13% කින් අඩු විය, උපරිම මතක පරිභෝජනය 15% කින් අඩු විය, සහ ජනනය කරන ලද ගොනු වල ප්‍රමාණය 7% කින් අඩු විය. මෙම අවස්ථාවෙහිදී, සම්පාදකයේම ප්‍රශස්තකරණයන් හරහා ත්වරණය ලබා ගන්නා ලදී. මෙයින් පසු, සංවර්ධකයින් සම්පාදනය කරන අවස්ථාවේ මෙහෙයුම් සමාන්තරකරණය කිරීමෙන් වේගවත් කිරීම සඳහා වැඩ කිරීමට යොමු විය.

මේ වන තුරු, රස්ට් හි සමාන්තරකරණය බොහෝ දුරට ක්‍රියාවලි මට්ටමින් සිදු කර ඇත; උදාහරණයක් ලෙස, භාණ්ඩ පැකේජ කළමනාකරුට එකවර පැකේජ කිහිපයක් සම්පාදනය කිරීම සඳහා බහු rustc ක්‍රියාවලීන් දියත් කළ හැකිය. කේත උත්පාදනයට අදාළ මෙහෙයුම් සිදු කරන පසු අන්තයේ පැත්තේ සමාන්තරකරණ සහාය ද ඇත - රස්ට් පසුබිමට කොටස් වශයෙන් කේත ජනනය කළ හැකි අතර, එය LLVM හට සමාන්තරව සැකසිය හැකිය. ඉදිරිපස, මේ දක්වා, තනි නූල් ආකාරයෙන් පමණක් මූලාශ්‍ර කේතය සැකසිය හැක.

සමාන්තරකරණයට සහාය වීම සඳහා, ඉදිරිපස කොටස Rayon පුස්තකාලය භාවිතා කිරීමට මාරු කර ඇති අතර සැලකිය යුතු ලෙස ප්‍රතිනිර්මාණය කර ඇත, උදාහරණයක් ලෙස, එහි බොහෝ කොටස් දැන් mutexes සහ කියවීම/ලිවීම අගුළු භාවිතයෙන් සමමුහුර්ත කර ඇති අතර කේතය පරමාණුක වර්ග භාවිතා කරයි. කාර්ය සාධන පරීක්ෂාවේදී, නව සමාන්තරගත ක්‍රියාත්මක කිරීම තනි-නූල් ප්‍රකාරයේ (-Z threads=2) ධාවනය වන විට 1% දක්වා මන්දගාමී විය හැකි නමුත්, නූල් එකකට වඩා වැඩි වූ විට, වේගය සැලකිය යුතු ලෙස වැඩි විය. උදාහරණයක් ලෙස, නූල් 8 ක් (-Z නූල් = 8) ස්ථාපනය කරන විට, සමහර අවස්ථාවන්හිදී සම්පාදනය කිරීමේ කාලය 50% කින් අඩු කළ හැකිය.

මෙම අවස්ථාවෙහිදී, ප්රතිඵලය පරිසරය සැකසීම් සහ සම්පාදනය කරන ලද කේතය මත දැඩි ලෙස රඳා පවතී - දැනටමත් ඉක්මනින් සම්පාදනය කරන ඉතා කුඩා වැඩසටහන් සඳහා, බහු-නූල් ආකාරයෙන් සම්පාදනය කිරීම මන්දගාමී විය හැක. මීට අමතරව, බහු-නූල් මාදිලියේ මතක පරිභෝජනය සැලකිය යුතු ලෙස වැඩි විය හැක; උදාහරණයක් ලෙස, පරීක්ෂණ වලදී, මතක පරිභෝජනය 35% දක්වා වැඩි වීමක් දක්නට ලැබේ.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න