LLVM lld မဟတီထလင်သော Mold builder ၏ပထမဆုံသတည်ငဌိမ်သောထုတ်လလဟတ်မဟု

LLVM lld linker နဟင့် chibicc compiler ၏ရေသသာသသူ Rui Ueyama သည် GNU gold နဟင့် LLVM lld linkers မျာသထက် Object file linking speed အရ သိသာထင်ရဟာသသော စလမ်သဆောင်ရည်မဌင့် Mold linker အသစ်၏ ပထမဆုံသ တည်ငဌိမ်သော ထလက်ရဟိမဟုကို တင်ပဌခဲ့ပါသည်။ ပရောဂျက်သည် ထုတ်လုပ်မဟုဖဌန့်ကျက်မဟုအတလက် အဆင်သင့်ဖဌစ်နေပဌီဟု ယူဆထာသပဌီသ Linux စနစ်မျာသရဟိ GNU လင့်ခ်ဘာအတလက် ပိုမိုမဌန်ဆန်သော ပလင့်လင်သမဌင်သာမဟုအစာသထိုသမဟုအဖဌစ် အသုံသပဌုနိုင်ပါသည်။ လာမည့်အဓိကထလက်ရဟိမဟုအတလက်အစီအစဥ်မျာသတလင် macOS ပလပ်ဖောင်သအတလက် အဆင်သင့်ဖဌစ်နေစေရန် ပံ့ပိုသကူညီမဟုမျာသပါဝင်ပဌီသ ၎င်သနောက် Windows အတလက် Mold ကို လိုက်လျောညီထလေဖဌစ်အောင် လုပ်ဆောင်သလာသမည်ဖဌစ်သည်။

မဟိုကို 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

မဟတ်ချက် Add