मोल्ड, GNU सोने आणि LLVM lld पेक्षा श्रेष्ठ आधुनिक लिंकर

LLVM lld संगीतकार आणि chibicc कंपाइलरचे लेखक रुई उयामा यांनी पूर्वी अनावरण केले त्याच्या नवीन कामाचे थोडे फळ आणि सादर केले नवीन «हाय-लिंकर द मोल्ड» ची पहिली स्थिर आवृत्ती, जे GNU गोल्ड आणि LLVM lld ऑब्जेक्ट फाइल लिंकर्सच्या लिंक रेटपेक्षा खूप पुढे आहे.

सध्या, प्रकल्प उत्पादन उपयोजनासाठी तयार मानले जाते आणि ते लिनक्स सिस्टीमवर GNU लिंकरसाठी जलद पारदर्शक बदली म्हणून वापरले जाऊ शकते.

मोल्ड बद्दल

मोल्ड GNU लिंकरच्या सर्व वैशिष्ट्यांना समर्थन देते आणि त्याची कार्यक्षमता खूप उच्च आहे, कारण ते बनवलेल्या लिंक्स सीपी युटिलिटीसह फाइल्स कॉपी करण्यापेक्षा फक्त दुप्पट हळू असतात.

उदाहरणार्थ, Chrome 96 (कोड आकार 1,89 GB) संकलित करताना, 8-कोर संगणकावर डीबगिनफोसह एक्झिक्यूटेबल लिंक करण्यासाठी GNU Gold सह 53 सेकंद लागतात, LLVM lld ला 11,7 सेकंद लागतात आणि Mold ला फक्त 2,2 सेकंद लागतात (GNU सोन्यापेक्षा 26 पट वेगवान) .

तसेच, Clang 13 (3,18 GB) ला लिंक करताना GNU गोल्डला 64 सेकंद लागतात, LLVM lld ला 5,8 सेकंद आणि Mold ला 2,9 सेकंद लागतात आणि Firefox 89 (1,64 GB) ला लिंक करताना GNU गोल्डला 32,9, 6,8 सेकंद लागतात, LLVM lld ला 1,4 सेकंद लागतात. आणि मोल्डला XNUMX सेकंद लागतात.

मोल्ड 1.0 ही हाय-स्पीड लिंकरची पहिली स्थिर आणि उत्पादन-तयार आवृत्ती आहे. लिनक्स-आधारित प्रणालींवर, बहुतेक वापरकर्ता प्रोग्रामसाठी डीफॉल्ट GNU लिंकरसाठी वेगवान थेट बदला म्हणून ते "फक्त कार्य" केले पाहिजे. जर तुम्ही एखादे मोठे एक्झिक्युटेबल तयार करत असाल ज्याला लिंक होण्यासाठी बराच वेळ लागतो, तर ते संकलित वेळ कमी करू शकते का हे पाहण्यासाठी टेम्पलेटची चाचणी करणे योग्य आहे. साचा तयार करणे आणि वापरणे सोपे आहे.

या मार्गाने संकलन वेळ कमी केल्याने मोठे प्रकल्प विकसित करण्याच्या सोयीमध्ये लक्षणीय सुधारणा होते बदल डीबगिंग आणि चाचणी करताना एक्झिक्यूटेबल फाइल निर्मिती प्रक्रियेत प्रतीक्षा वेळ कमी करून.

प्रत्येक कोड बदलल्यानंतर दुवा पूर्ण होण्याची प्रतीक्षा करावी लागणे हे मोल्ड तयार करण्याची प्रेरणा होती, तसेच मल्टीकोर सिस्टम्समधील विद्यमान लिंकर्सची कमी कार्यक्षमता आणि वाढीव लिंकिंगसारख्या अनावश्यक क्लिष्ट मॉडेल्सचा अवलंब न करता मूलभूतपणे भिन्न लिंक आर्किटेक्चरची चाचणी घेण्याची इच्छा.

मोल्डमध्ये मोठ्या संख्येने कंपाइलर-तयार ऑब्जेक्ट फाइल्समधून एक्झिक्यूटेबल फाइल लिंक करण्याचे उच्च कार्यप्रदर्शन वेगवान अल्गोरिदम, उपलब्ध CPU कोरमधील ऑपरेशन्सचे सक्रिय समांतरीकरण आणि डेटा स्ट्रक्चर्सचा अधिक कार्यक्षम वापर याद्वारे प्राप्त केले जाते.

उदाहरणार्थ, फाईल कॉपी करणे, ऑब्जेक्ट फाइल्स मेमरीमध्ये सक्रियपणे लोड करणे, वर्णांचे निराकरण करताना जलद हॅश टेबल वापरणे, वेगळ्या क्रमाने पुनर्स्थापना सारण्या स्कॅन करणे आणि वेगवेगळ्या फायलींमध्ये पुनरावृत्ती होणारे विभाग काढून टाकणे यासह संगणकीयदृष्ट्या गहन समवर्ती कार्य करण्यासाठी मोल्ड एक तंत्र लागू करते.

शेवटी, हे लक्षात घ्यावे की साचा C++ 20 मध्ये लिहिलेले आहे आणि AGPLv3 परवान्याअंतर्गत वितरित केले आहे, जे GPLv3 अनुरूप आहे, परंतु GPLv2 अनुरूप नाही कारण नेटवर्क सेवा विकसित करताना मोकळेपणा बदलणे आवश्यक आहे. ही निवड विकासासाठी निधी प्राप्त करण्याच्या इच्छेद्वारे स्पष्ट केली गेली आहे: लेखक एमआयटी सारख्या परवानग्या अंतर्गत पुन्हा परवाना देण्यासाठी कोडचे अधिकार विकण्यास तयार आहे किंवा जे समाधानी नाहीत त्यांच्यासाठी स्वतंत्र व्यावसायिक परवाना प्रदान करण्यास तयार आहे. AGPL.

साठी म्हणून भविष्यातील योजना त्यांच्याकडे आहे, असा सध्या उल्लेख आहे macOS साठी मोल्डवर काम करत आहे  (जरी ही आवृत्ती 1.0 समर्थन आधीच जोडलेले आहे परंतु तरीही अल्फा मानले जाते) आणि एकदा ते पूर्ण झाल्यानंतर, समर्थन मोल्डच्या आवृत्ती 2.0 मध्ये रिलीज केले जाईल. आणि त्यानंतर ते विंडोजसाठी मोल्डमध्ये काम करेल असा उल्लेख आहे आणि आवृत्ती 3.0 मध्ये लागू केले जाईल.

Si तुम्हाला या प्रकल्पाबद्दल अधिक जाणून घ्यायचे आहे किंवा तुम्हाला ते तुमच्या सिस्टीमवर वापरता येण्यासाठी ते संकलित करायचे आहे, तुम्ही तपशील आणि/किंवा संकलन सूचना तपासू शकता पुढील लिंकवर


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.