LLVM lld မှတီထွင်သော Mold builder ၏ပထမဆုံးတည်ငြိမ်သောထုတ်လွှတ်မှု

LLVM lld linker နှင့် chibicc compiler တို့၏ ရေးသားသူ Rui Ueyama သည် object file linking speed တွင် GNU gold နှင့် LLVM lld linkers များထက် သိသိသာသာ သာလွန်သော high-performance linker အသစ်ဖြစ်သည့် Mold ၏ ပထမဆုံး stable release ကို ထုတ်ပြန်ခဲ့သည်။ ဤ project ကို production deployment အတွက် အဆင်သင့်ဖြစ်ပြီဟု ယူဆရပြီး GNU linker အတွက် ပိုမိုမြန်ဆန်ပြီး ပွင့်လင်းမြင်သာသော အစားထိုးအဖြစ် အသုံးပြုနိုင်ပါသည်။ Linux-စနစ်များ။ နောက်ထပ် အဓိကထုတ်ဝေမှုအတွက် အစီအစဉ်များတွင် ပလက်ဖောင်းပံ့ပိုးမှုကို ရင့်ကျက်စေရန် ပါဝင်သည်။ macOSထို့နောက်တွင် မှိုကို လိုက်လျောညီထွေဖြစ်အောင် လုပ်ဆောင်ခြင်းလုပ်ငန်း စတင်ပါမည် Windows.

မှိုကို C++ (C++20) ဖြင့် ရေးသားထားပြီး AGPLv3 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်၊ GPLv3 နှင့် ကိုက်ညီသော်လည်း GPLv2 နှင့် မကိုက်ညီသောကြောင့်၊ ကွန်ရက်ဝန်ဆောင်မှုများကို ဖော်ဆောင်သည့်အခါတွင် ဖွင့်ရန် အပြောင်းအလဲများ လိုအပ်သောကြောင့် ၎င်းကို ဖွင့်ရန် လိုအပ်ပါသည်။ ဤရွေးချယ်မှုသည် ဖွံ့ဖြိုးရေးရန်ပုံငွေရယူလိုသောဆန္ဒကြောင့်ဖြစ်သည် - စာရေးသူသည် MIT ကဲ့သို့သော ခွင့်ပြုချက်လိုင်စင်တစ်ခုအောက်တွင် လိုင်စင်ပြုလုပ်ရန်အတွက် ကုဒ်လုပ်ပိုင်ခွင့်များကို ရောင်းချရန်ဆန္ဒရှိပါသည် သို့မဟုတ် AGPL ကို မကျေနပ်သူများအတွက် သီးခြားစီးပွားရေးလိုင်စင်တစ်ခု ပေးလိုပါသည်။

Mold သည် GNU linker ၏အင်္ဂါရပ်အားလုံးကိုပံ့ပိုးထားပြီး cp ဖြင့်ဖိုင်များကိုကူးယူခြင်း၏ထက်ဝက်သာမြန်နှုန်းဖြင့်ချိတ်ဆက်ခြင်းသည်အလွန်မြန်ဆန်သည်။ ဥပမာအားဖြင့်၊ Chrome 96 (ကုဒ်အရွယ်အစား 1.89 GB) ကိုတည်ဆောက်သောအခါ GNU gold ကိုအသုံးပြုထားသော 8-core ကွန်ပျူတာတွင် c debuginfo executables များကိုတည်ဆောက်ရန် 53 စက္ကန့်ကြာသည်၊ LLVM lld အတွက် 11.7 စက္ကန့်နှင့် Mold အတွက် 2.2 စက္ကန့်သာကြာသည် (26 ဆထက်ပိုမိုမြန်ဆန်သည် GNU ရွှေ)။ Clang 13 (3.18 GB) ၊ GNU ရွှေကို ချိတ်ဆက်သောအခါ 64 စက္ကန့်ကြာသည်၊ LLVM lld သည် 5.8 စက္ကန့်ကြာပြီး Mold သည် 2.9 စက္ကန့်ကြာသည်။ Firefox 89 (1.64 GB) ကို ချိတ်ဆက်သောအခါ၊ GNU gold သည် 32.9 စက္ကန့် ကြာသည်၊ LLVM lld သည် 6.8 စက္ကန့် ကြာပြီး Mold သည် 1.4 စက္ကန့် ကြာသည်။

LLVM lld မှတီထွင်သော Mold builder ၏ပထမဆုံးတည်ငြိမ်သောထုတ်လွှတ်မှု

လင့်ခ်အချိန်ကို လျှော့ချခြင်းသည် အမှားရှာပြင်ခြင်းနှင့် စမ်းသပ်ခြင်းပြောင်းလဲမှုများအတွင်း လုပ်ဆောင်နိုင်သော ဖိုင်များထုတ်ပေးခြင်းလုပ်ငန်းစဉ်တွင် စောင့်ဆိုင်းချိန်ကို လျှော့ချခြင်းဖြင့် ကြီးမားသောပရောဂျက်များကို ဖော်ဆောင်ရာတွင် အသုံးပြုနိုင်စွမ်းကို ပိုမိုကောင်းမွန်စေပါသည်။ ကုဒ်ပြောင်းလဲမှုတိုင်းပြီးနောက် အပြီးသတ်ချိတ်ဆက်ခြင်းကို စောင့်ဆိုင်းရခြင်းအပြင် Mold သည် Multi-core စနစ်များတွင် ရှိပြီးသားလင့်ခ်များ၏ စွမ်းဆောင်ရည် ညံ့ဖျင်းမှုနှင့် မလိုအပ်ဘဲ အခြေခံကွဲပြားသော ချိတ်ဆက်မှုဗိသုကာကို စမ်းကြည့်လိုစိတ်ကြောင့် Mold သည် လှုံ့ဆော်ခံခဲ့ရပါသည်။ တိုးမြှင့်ချိတ်ဆက်ခြင်းကဲ့သို့သော ရှုပ်ထွေးသော မော်ဒယ်များ။

Mold ရှိ compiler မှ ပြင်ဆင်ထားသော အရာဝတ္ထုဖိုင်အများအပြားမှ executable ဖိုင်တစ်ခုကို ချိတ်ဆက်ခြင်း၏ စွမ်းဆောင်ရည်သည် ပိုမိုမြန်ဆန်သော algorithms များကို အသုံးပြုကာ ရရှိနိုင်သော CPU cores များကြားတွင် လုပ်ဆောင်ချက်များကို တက်ကြွစွာ အပြိုင်လုပ်ဆောင်ခြင်းနှင့် ပိုမိုထိရောက်သော ဒေတာဖွဲ့စည်းပုံများကို အသုံးပြုခြင်းဖြင့် ရရှိနိုင်ပါသည်။ ဥပမာအားဖြင့်၊ Mold သည် ဖိုင်များကိုကူးယူခြင်း၊ အရာဝတ္တုဖိုင်များကို မှတ်ဉာဏ်ထဲသို့ကြိုတင်ရယူခြင်း၊ စာလုံးများကိုဖြေရှင်းသည့်အခါ အမြန် hash tables များကိုအသုံးပြုခြင်း၊ သီးခြား thread တစ်ခုတွင် နေရာရွှေ့ခြင်းဇယားများကို စကင်န်ဖတ်ခြင်းနှင့် မတူညီသောဖိုင်များတွင် ထပ်ခါတလဲလဲ ပေါင်းစပ်ထားသောအပိုင်းများကို ပွားယူခြင်းနှင့်အတူ Mold သည် ပြင်းထန်သောတွက်ချက်မှုများလုပ်ဆောင်သည့်နည်းပညာကို လုပ်ဆောင်သည်။

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster