የሻጋታ 1.1 ማያያዣ መለቀቅ፣ በኤልኤልቪኤም ld የተገነባ

የMold linker ልቀት ታትሟል፣ ይህም በሊኑክስ ስርዓቶች ላይ ለጂኤንዩ አገናኝ ፈጣን እና ግልፅ ምትክ ሆኖ ሊያገለግል ይችላል። ፕሮጀክቱ የተገነባው በኤልኤልቪኤምኤልዲ ማያያዣ ደራሲ ነው። የሻጋታ ቁልፍ ባህሪ የነገር ፋይሎችን የማገናኘት በጣም ከፍተኛ ፍጥነት ነው፣ ከጂኤንዩ ወርቅ እና ከኤልኤልቪኤምኤልዲ ማያያዣዎች ቀድመው ነው (በሻጋታ ማገናኘት የሚከናወነው በቀላሉ ፋይሎችን በ cp መገልገያ ከመቅዳት በግማሽ ፍጥነት ብቻ ነው)። ኮዱ በ C++ (C++20) ተጽፎ በ AGPLv3 ፍቃድ ተሰራጭቷል።

በአዲሱ ስሪት:

  • በማገናኘት ደረጃ (LTO, Link Time Optimization) ላይ ለማመቻቸት ድጋፍ ታክሏል. የ LTO ማመቻቸት በግንባታው ሂደት ውስጥ የተካተቱትን ሁሉንም ፋይሎች ሁኔታ ግምት ውስጥ በማስገባት ይለያያሉ, ባህላዊ የማሻሻያ ሁነታዎች እያንዳንዱን ፋይል በተናጠል ያሻሽላሉ እና በሌሎች ፋይሎች ውስጥ የተገለጹትን ተግባራት ለመጥራት ሁኔታዎችን ግምት ውስጥ አያስገባም. ከዚህ ቀደም የጂሲሲ ወይም የኤልኤልቪኤም መካከለኛ ኮድ (IR) ፋይሎች ሲገኙ፣ ተጓዳኝ ld.bfd ወይም ld.lld ማያያዣዎች ተጠርተዋል፣ አሁን ሻጋታ የ IR ፋይሎችን በራሱ ያስኬዳል እና የሊንከር ፕለጊን ኤፒአይን ይጠቀማል፣ እንዲሁም በጂኤንዩ ld እና ጂኤንዩ ውስጥ ጥቅም ላይ ይውላል። የወርቅ ማያያዣዎች. ሲነቃ LTO ከሌሎቹ ማገናኛዎች በትንሹ ፈጣን ነው ምክንያቱም አብዛኛው ጊዜ ከማገናኘት ይልቅ የኮድ ማሻሻያዎችን በማከናወን ላይ ይውላል።
  • በአስተናጋጅ እና በዒላማ መድረኮች ላይ ለRISC-V (RV64) አርክቴክቸር ድጋፍ ታክሏል።
  • በድህረ-ግንኙነት ደረጃ ላይ ለቀጣይ የማመቻቸቶች አተገባበር የመዛወሪያ ክፍሎችን ከግቤት ፋይሎች ወደ ውፅዓት ፋይሎች መቅዳት ለማስቻል የ"-emit-relocs" አማራጭ ታክሏል።
  • በምናባዊው የአድራሻ ቦታ ላይ አድራሻቸውን ከማስተካከላቸው በፊት የክፍሎችን ቅደም ተከተል በዘፈቀደ ለማስተካከል የ"-shuffle-sections" አማራጭ ታክሏል።
  • የተጨመሩ አማራጮች "--print-dependencies" እና "--print-dependencies=ful" በ CSV ቅርጸት በግቤት ፋይሎች መካከል ያሉ ጥገኝነቶች መረጃን ለማውጣት፣ይህም ለምሳሌ የተወሰኑ የነገር ፋይሎችን በሚያገናኙበት ጊዜ የግንኙነት ምክንያቶችን ለመተንተን ሊያገለግል ይችላል። ወይም በፋይሎች መካከል ጥቃቅን ስራዎች ጥገኞችን ሲያካሂዱ.
  • የ"-warn-አንድ ጊዜ" እና "-warn-textrel" አማራጮች ታክለዋል።
  • በlibxxhash ላይ ጥገኝነት ተወግዷል።

ምንጭ: opennet.ru

አስተያየት ያክሉ